접근제한자 (Access Modifier)
클래스 및 클래스의 구성 멤버에 대한 접근을 제한하는 역할
- 다른 패키지에서 클래스를 사용하지 못하도록 (클래스 제한)
- 클래스로부터 객체를 생성하지 못하도록 (생성자 제한)
- 특정 필드와 메소드를 숨김 처리 (필드와 메소드 제한)
*클래스의 접근 제한
1. default
- 클래스 선언할 때 public 생략한 경우
- 다른 패키지에서는 사용 불가
2. public
- 다른 개발자가 사용할 수 있도록 라이브러리 클래스로 만들 때 유용
Getter & Setter
* 클래스 선언할 때 필드는 일반적으로 private 접근 제한
- 읽기 전용 필드가 있을 수 있음 -> Getter의 필요성
- 외부에서 엉뚱한 값으로 변경할 수 없도록 -> Setter의 필요성
* Getter
- private 필드의 값을 리턴 하는 역할 - 필요할 경우 필드 값 가공
- getFieldName() 또는 isFieldName() 메소드(필드 타입이 boolean타입일 때)
*Setter
- 외부에서 주어진 값을 필드 값으로 수정 - 필요할 경우 외부의 값을 유효성 검사
- setFieldName(타입 변수) 메소드 (매개 변수 타입은 필드의 타입과 동일)
어노테이션(Annotation)
*프로그램에게 추가적인 정보를 제공해주는 메타데이터(metadata)
*어노테이션 용도
- 컴파일러에게 코드 작성 문법 에러 체크하도록 정보 제공
- 소프트웨어 개발 툴이 빌드나 배치 시 코드를 자동 생성하게 정보 제공
- 실행 시(런타임시) 특정 기능 실행하도록 정보 제공
* 기본 엘리먼트(속성) value
- 어노테이션 적용할 때 엘리먼트 이름 생략 가능
- 두 개 이상의 속성을 기술할 때에는 value = 값 형태로 기술
* 어노테이션 적용 대상
- java.lang.annotation.ElementType 열거 상수로 정의

* 어노테이션 유지 정책
- 어노테이션 적용 코드가 유지되는 시점을 지정하는 것
- java.lang.annotation.RetentionPolicy 열거 상수로 정의
🍤예제



'교육과정 기록 > ☕ Java' 카테고리의 다른 글
[4.13] 네트워크 - IP와 Port에 대한 이해 (0) | 2022.04.13 |
---|---|
[4.11-] 상속 (0) | 2022.04.12 |
for문을 이용해 별찍기 [별피라미드] (0) | 2022.04.11 |
4.8 OOP - 싱글톤 / final / 패키지 (0) | 2022.04.08 |
4.5~4.6 OOP와 클래스 (0) | 2022.04.07 |