춘식이왔엉
초보 개발자의 기록
춘식이왔엉
  • 분류 전체보기
    • ElasticSearch
    • ETL
    • 네트워크
    • 교육과정 기록
      • 🎨UI구현
      • 💻back-end
      • Java Script
      • jQuery
      • 💾DB & SQL
      • ☕ Java
      • 🧇 Python
      • 🪀알고리즘
    • 📘에러 노트
    • git
    • 자유로운 이야기
      • 📚자격증
      • 🏋️‍♂️운동 기록

블로그 메뉴

  • 홈
  • 태그
  • 방명록

티스토리

공지사항

인기 글

최근 댓글

최근 글

hELLO · Designed By 정상우.
춘식이왔엉

초보 개발자의 기록

[4.11] 접근제한자/어노테이션
교육과정 기록/☕ Java

[4.11] 접근제한자/어노테이션

2022. 4. 12. 00:06

접근제한자 (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 열거 상수로 정의

 

🍤예제

어노테이션 타입 정의와 적용

PrintAnnotation 정의
Service 클래스를 만들어서 메소드 내용에 어노테이션 적용

실행 클래스 만들어서 확인

 


 

 

 

 

 

저작자표시 비영리 변경금지 (새창열림)

'교육과정 기록 > ☕ 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
    '교육과정 기록/☕ Java' 카테고리의 다른 글
    • [4.13] 네트워크 - IP와 Port에 대한 이해
    • [4.11-] 상속
    • for문을 이용해 별찍기 [별피라미드]
    • 4.8 OOP - 싱글톤 / final / 패키지
    춘식이왔엉
    춘식이왔엉
    개발 공부를 하면서 정리하는 블로그입니다.

    티스토리툴바