일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- 유클리드호제법
- 해시
- 내일배움캠프
- Firebase
- Unity3d
- 언리얼엔진
- C++
- 포톤
- Unity
- 스파르타내일배움캠프
- c#
- 구현
- unityui
- FSM
- 알고리즘
- QueryDSL
- UE4
- 스택
- Unity2D
- 워크플로
- 유니티
- Photon
- 문자열
- UnrealEngine
- 프로그래머스
- BFS
- 순열
- 스파르타내일배움캠프TIL
- Inventory
- 이분탐색
- Today
- Total
개발 낙서장
Lombok - 롬복 본문
기존 코드 방식
기존에는 변수를 private로 선언하고 외부 클래스에서 사용하려면 Getter, Setter 메소드를 따로 만들어주어야 한다.
생성자 또한 조건에 맞게 만들어주어야 한다.
package com.sparta.springprepare.memo;
public class Memo {
private String username;
private String contents;
public Memo(String username, String contents) {
this.username = username;
this.contents = contents;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getContents() {
return contents;
}
public void setContents(String contents) {
this.contents = contents;
}
}
class Main {
public static void main(String[] args) {
Memo memo = new Memo("가나다", "내용");
System.out.println(memo.getUsername() + " " + memo.getContents());
memo.setUsername("가나다라");
memo.setContents("수정");
System.out.println(memo.getUsername() + " " + memo.getContents());
}
}
이렇게 각 변수에 맞게 Getter와 Setter를 만들어야 외부 클래스에서 사용할 수 있다.
지금이야 변수가 단 두 개 뿐이니까 한 눈에 보이지만 변수가 50개 100개가 된다면 그리고 일일히 Getter나 Setter를 만들어줘야 한다면 아주 어지러워질 것이다.
SpringBoot에는 이러한 Getter, Setter, 생성자 등 반복되는 코드들을 자동으로 생성해주는 롬복이라는 플러그인이 있다.
설정 방법
IntelliJ에서 윈도우 기준 Ctrl + Alt + S를 눌러 Settings 창에 Annotation을 검색해 활성화해준다
이후 Shift를 두 번 눌러 Plugins을 연 다음 설치된 플러그인을 보면 Lombok이 설치된 것을 확인할 수 있다.
설치가 되지 않았다면 Install을 눌러 설치를 해주자.
dependencies {
implementation 'org.springframework.boot:spring-boot-starter-web'
compileOnly 'org.projectlombok:lombok'
annotationProcessor 'org.projectlombok:lombok'
testImplementation 'org.springframework.boot:spring-boot-starter-test'
}
gradle 설정 파일에도 lombok을 추가해주자.
사용 방법
롬복은 클래스 위에 @속성 을 추가해 사용할 수 있다.
롬복의 플러그인 설명에 이렇게 사용할 수 있는 속성들이 나열돼있는데 시간날 때 읽어보면 좋을 것 같다.
일단 예시 코드인 Memo 클래스를 수정해보자.
import lombok.Getter;
import lombok.Setter;
@Getter @Setter
public class Memo {
private String username;
private String contents;
}
@Getter는 필드들의 Getter를, @Setter는 필드들의 Setter를 자동으로 추가해주는 속성이다.
그럼 이렇게 실제 클래스에는 Getter와 Setter가 없지만 외부 클래스에서 사용할 때 빨간 줄이 뜨지 않는 것을 확인할 수 있다.
왜 이렇게 되는 건지 빌드를 해서 빌드 파일을 확인하면 알 수 있다.
분명 실제 클래스에서는 만들지 않았던 Getter와 Setter가 빌드할 때는 자동으로 생성되는 것을 확인할 수 있다.
Alt+Insert로 자동 생성하는 기능도 굉장히 편리했지만 롬복을 사용하면 코드 가독성과 유지보수성이 높아져 훨씬 더 좋은 것 같다.
'Java' 카테고리의 다른 글
데이터베이스(DB, DataBase) (0) | 2024.02.13 |
---|---|
[Spring] Filter 예외 처리 (0) | 2024.02.05 |
[Spring] 쿠키와 세션 (0) | 2024.01.25 |
Jackson (0) | 2024.01.18 |
Spring MVC (0) | 2024.01.18 |