[SpringBoot] Lombok 설치
·
Spring,SpringBoot
롬복 라이브러리를 통해 자바 클래스에 애너테이션을 사용해 자주 쓰는 Getter, Setter, 생성자 등을 자동으로 만들어주는 도구이다. Lombok의 장점1. 코드 간단화, 생산성 향상Getter, Setter, 생성자와 같은 반복적인 코드를 애너테이션 하나로 해결해준다. 2. 가독성 및 유지보수 용이핵심 로직과 무관한 코드를 줄여 클래스의 역할과 필드만 한눈에 파악하기 쉬워진다. 3. 다양한 편의 기능또 다른 기능들도 존재한다. Lombok의 단점1. 코드 가시성 저하IDE가 지원하지 않으면 Lombok 생성하는 코드를 직접 볼 수 없다.코드의 동작을 파악하기 위해 Lombok 애너테이션에 대한 이해가 필요하다. 2. 무분별한 사용 위험캡슐화 원칙을 해칠 수 있다. 3. 버전 호환성 문제버전 관..
[Java] String, StringBuilder, 메서드 체이닝
·
Java
Stringjava에서 String을 만드는 방법에 대해 살펴보자. package stringBuilder;public class StringEx1 { public static void main(String[] args) { String str1 = "스트링1"; //스트링 생성 1 String str2 = new String("스트링2"); System.out.println("str1 = " + str1); System.out.println("str2 = " + str2); }} new String(); 으로 스트링을 생성한 것을 보면 String은 클래스라는 것을 확인할 수 있다. 그러면 str1은 객체가 아닐까? str1의 생성과..
[Data Structure] Doubly Linked List 양방향 연결 리스트
·
Algorithm&Data Structure
✅바로 가기 Doubly Linked List 서론 리스트 인터페이스 노드 클래스 리스트 생성자와 필드, 내부 클래스 search(int index) add() remove() isEmpty(), isFull(), get(int index), set(int index, E element) indexOf(E element), contains(E element)size(), capacity(), toArray() 전체코드 Doubly Linked List는 노드가 앞 뒤를 가리키는 링크가 존재하는 구조이다. Singly Linked List와 달리 노드가 앞 뒤 노드를 가리키고 있는 구조인 것이다. Doubly Linked List의 장점은? 각 노드가 다음(next)과 이전 (..
[Data Structure] 싱글 링크드 리스트 (Singly LinkedList)
·
Algorithm&Data Structure
↘️바로가기더보기링크드리스트란?리스트 인터페이스노드클래스리스트 생성자와 필드search(int index)add 메서드들(추가)전체 코드각 종 메서드들 (크기, 출력 등)get(),set(index,E)indexOf(target), contains(target)isEmpty, isFullremove 메서드들(삭제)전체코드 ✨링크드리스트란? 이번 글에서는 싱글 링크드 리스트를 구현해 보겠다. 우선 ArrayList를 먼저 구현해 보고 학습해 보는 것을 권장한다.https://0dedicated.tistory.com/49 싱글 링크드 리스트 (단순 연결 구조의 리스트)는 배열과 ArrayList와는 구조가 다르다. 연결된 구조 (Linked List)에서는 자료(데이터와, 링크값)를 노드에 담아 관리..
[Data Structure] Array List 구현
·
Algorithm&Data Structure
[구현 바로 가기]더보기List 인터페이스ArrayList 클래스 생성자, 필드, 동적 할당addremove각 종 유틸리티 Array List는 자료구조에서 제일 기본이자 핵심적인 자료구조이다. 🎯Array List와 Array의 차이는 뭘까? int[] arr = new int[5]; 이런 배열은 한 번 배열의 크기를 정해주면 끝까지 최대 5의 값의 공간을 지닌다. 일반 배열은 고정된 크기의 자료 구조이고 타입은 기본형, 참조형 모두 가능하다. 일반 배열은 성능이 좋고 구조가 단순하다. 계획적인 프로그래밍에서는 메모리가 더 효율적일 수 있다. 일반 배열의 한계 1. 크기가 고정되어 메모리 낭비나 크기가 부족할 때 문제가 생긴다. 2. 기능들이 부족하다. 동적 배열을 위한 ArrayL..
[Git] 기초 명령어 (1)
·
Git & GitHub
Git이란? Git의 기본 구조 1. Working Directory (작업 디렉터리) 실제로 코드를 수정하는 곳2. Staging Area: 커밋할 준비가 된 파일들이 있는 곳3. Repository: 커밋들이 저장되는 로컬 저장소 git init 현재 폴더를 Git 저장소로 초기화..git 폴더가 생성되어 Git이 버전 관리하게 된다. Git이 파일을 추적하게 된다. git init git status 어떤 파일이 수정되었고, 어떤 파일이 스테이징 되어 있는지 확인하는 명령어현재 디렉토리 상태 확인하는 명령어이다.git status git staus 명령어를 입력하면 크게 세 가지를 알려준다. 1. 현재 브랜치 이름2. 커밋되지 않은 변경 사항 (수정, 삭제, 새 파일 등)3. 어떤 파..
[Java] 불변 객체
·
Java
자바에서 데이터 타입은 크게 기본형과 참조형으로 나뉜다. 기본형: 하나의 값을 여러 변수에서 공유하지 않는다.참조형: 하나의 객체를 참조값을 통해 여러 변수가 공유한다. 기본형 값 복사 package immutableBlog;public class CallByValue { public static void main(String[] args) { int a = 7; int b = a; System.out.println("a = " + a); System.out.println("b = " + b); b = 300; System.out.println("a = " + a); System.out.println("b =..