📕 목차
1. 어노테이션(Annotation)
어노테이션(Annotation)
- 코드에 메타데이터를 추가하는 기능으로, 컴파일러나 런타임 환경에 특정 동작을 지시할 수 있다.
- 주석은 사람에게, 어노테이션은 프로그램에게 정보를 제공한다.
- @ 기호로 시작하며 클래스, 메서드, 변수 등 다양한 요소에 적용 가능하다.
내장 어노테이션
- @Override: 상위 클래스의 메서드를 재정의함을 명시
- @Deprecated: 해당 요소가 더 이상 사용되지 않음을 나타냄
- @SuppressWarnings: 컴파일러 경고 억제 (unused, unchecked 등)
사용자 정의 어노테이션
- 직접 정의 가능
- AOP 등 고급 기능 구현 시 사용됨 (심화 과정에서 다룰 예정)
2. Lombok
Lombok
- 반복적인 보일러플레이트 코드 생성을 자동화해주는 라이브러리로, 어노테이션 기반으로 작동한다.
* 보일러플레이트 코드란?
- getter/setter, 생성자, toString 등 반복적으로 작성해야 하는 코드
설치
- IntelliJ 설정에서 Enable annotation processing 활성화
- Plugins에서 Lombok 설치 후 IDE 재시작
Lombok 주요 어노테이션
- @Getter, @Setter
- 클래스의 모든 필드에 대해 getter와 setter 메서드를 자동으로 생성한다.
- @ToString
- toString() 메서드를 자동으로 생성한다. 기본적으로 클래스의 모든 필드를 포함하며, 특정 필드를 제외하거나 포맷을 지정할 수 있다.
- @EqualsAndHashCode
- equals()와 hashCode() 메서드를 자동으로 생성한다. 객체의 동일성과 해시 코드를 정의한다.
- @NoArgsConstructor
- 기본 생성자를 생성한다.
- @AllArgsConstructor
- 모든 필드를 매개변수로 받는 생성자를 생성한다.
- @RequiredArgsConstructor
- final 필드만을 매개변수로 받는 생성자를 생성한다.
- @Data
- @Getter, @Setter, @ToString, @EqualsAndHashCode, @RequiredArgsConstructor를 한꺼번에 적용하는 어노테이션이다.
- @Builder
- 빌더 패턴을 적용하여 객체를 생성할 수 있게 한다. 필드 이름을 명시적으로 지정하면서 객체를 생성할 수 있다.
- @Slf4j
- 클래스에 로그를 남기기 위한 Logger 객체를 자동으로 생성한다. log.info()와 같은 로그 메서드를 사용할 수 있게 한다.
'Spring > 강의' 카테고리의 다른 글
| [📕 기초 Spring] 2-4. 빌드 관리 도구 (0) | 2025.05.03 |
|---|---|
| [📕 기초 Spring] 2-3. Spring Framework와 Spring Boot (0) | 2025.05.03 |
| [📕 기초 Spring] 2-1. 프레임워크와 라이브러리 (1) | 2025.05.03 |
| [📕 기초 Spring] 1-4. Web Application (0) | 2025.05.03 |
| [📕 기초 Spring] 1-3. HTTP (1) | 2025.05.03 |