Today I Learned
(24.04.08) Java의 정석 학습(열거형 / 애너테이션)
이제 슬슬 날이 따뜻해져서 봄 대 청소를 해야하는 느낌인데 컨디션은 계속 저조이고 팀 프로젝트도 얹어있어서
붕 뜬 느낌이다..
봄을 타는 느낌이지만 그래도 좀더 정신을 창리고 학습에 매진할 수 있도록!
Java의 정석 학습 간단 정리
Annotation 이 주석이란 뜻이소 @Override만 보고 있어도되고 없어도 되는 기능인줄만 알고 가볍겐 공부했다가 Generics처럼 큰코를 다쳐버렸다.
거의 인터페이스 타입을 정의하기 시작하면서 사용자 만의 애너테이션을 정의하기 시작하면 생략하면 절대 안되는 메타데이터를 저장하는 기능을 가져버리게 되는게 Annotation
열거형 enums 일 경우에는 상수집단이지만 계속 클래스랑 헷갈리게 되어서 enums만의 구조를 계속 익숙해져야할 필요가 있다.
이제 람다, 스트림으로 넘어가고 이번 주 내로 Java의 정석은 한번이라도 읽도록 할것이다.
더보기
열거형 enums
- 서로 관련된 상수 final 편리하게 선언하기 위한, 여러 상수 정의에 사용하는 것
java.lang.Enum클래스
열거형에 멤버 추가
열거형에 추상 메서드 추가
애너테이션 annotation
- 주석과 유사하게 @를 붙여서 주석처럼 언어에 영향을 미치지 않으면서도 다른 프로그램에게 유용한 정보를 제공
표준 애너테이션
@Override
@Deprecated
- 더 이상 사용안하는 필드/메서드에 붙여서 다른 것으로 대체되었거나 삭제되었다는 것을 알림
@FunctionallInterface
- 함수형 인터페이스 functional interface 선언 시, 잘 선언되었는지 확인해주는 애너테이션
@SuppressWarnings
- 컴파일러 경고메세지 억제하는 애너테이션
@SafeVarargs
reifiable 타입 & non-reifiable 타입
애너테이션 타입 정의하기
- 직접 애너테이션을 만들어서 사용가능
java.lang.annotation.Annotaion 인터페이스
마커 애너테이션 Marker Annotation
메타 애너테이션
- 애너테이션의 애너테이션으로 애너테이션 뒤에서 애너테이션 적용대상 target과 유지기간 retention 등을 지정하는 애너테이션
@Target
@Retention
@Documented
@Inherited
@Repeatable
@Native
계속 앉아서 공부하다보니까 팔목이랑 허리가 점점 아파오기도 하고 컨디션돈 안좋고
고등학교, 대학교 때도 이렇게 공부한 적은 없는거 같아서 한달이 넘어가는데도 몸이 적응을 못하고 있는것 같다..
런닝이라도 시작을 해야할듯!
'Today I Learned' 카테고리의 다른 글
(24.04.10) Java의 정석 학습(스트림(스트림 생성, 중간연산) ) (1) | 2024.04.10 |
---|---|
(24.04.09) Java의 정석 학습(람다, 함수형 인터페이스, 메서드 참조) (0) | 2024.04.09 |
(24.04.05) Java의 정석 학습(컬렉션 프레임웍 Collections Framework) (0) | 2024.04.05 |
(24.04.04) Java의 정석 학습(java.lang패키지와 유용한 클라스, Collections Framework (0) | 2024.04.04 |
(24.04.03) Java의 정석 학습(내부 클래스, 예외처리 exception handling 심화 ) (0) | 2024.04.03 |