본문 바로가기
Today I Learned 2024. 4. 8.

(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

 


계속 앉아서 공부하다보니까 팔목이랑 허리가 점점 아파오기도 하고 컨디션돈 안좋고

고등학교, 대학교 때도 이렇게 공부한 적은 없는거 같아서 한달이 넘어가는데도 몸이 적응을 못하고 있는것 같다..

런닝이라도 시작을 해야할듯!