본문 바로가기

JAVA4

Annotation 동작 원리(2) 오늘은 annotation processor에 대해 학습하기 전 @Target과 @Retention을 통해 어노테이션이 어디에 적용되며 언제까지 소스가 유지될지에 대해 알아보자. @Target @Target을 통해 어떠한 값에 어노테이션을 적용할 지 나타낸다. (ex. 클래스, 메서드, 필드,어노테이션 등…) 아래와 같이 사용되며 @Override는 메서드에 적용되는걸 알 수있다. @Target(ElementType.METHOD) @Retention(RetentionPolicy.SOURCE) public @interface Override { } 적용되는 대상은 아래 문서에서 더 자세히 볼 수 있다. ElementType (Java Platform SE 8 ) The constants of this en.. 2023. 8. 7.
Annotation 동작 원리 (1) HTML 삽입 미리보기할 수 없는 소스 작성 목적 @EntityListeners에 대해 학습하던 중 특정 Annotation이 어떤 역할을 하는지 알고 있지만, 어떤 원리로 동작하는지는 모른다는 사실을 깨달았다. 동작 방식에 대해 학습하면 이후 코드 해석을 더 잘할 수 있을거라 생각해서 한번 정리하려 한다. 어노테이션이란? 번역하면 ‘주석’이라는 의미를 가지고 있지만, 일반적인 주석과는 다른 역할을 한다. 메타 데이터로 프로그램에 속하지 않은 프로그램에 대한 데이터를 제공한다. 어노테이션이 달린 코드에 직접적인 영향은 미치지 않는다. 메타데이터 : 데이터에 대해 구조화된 데이터 어노테이션의 용도 컴파일러가 에러를 발견(detect errors)하거나 경고를 무시(suppress warnings)하도록 정.. 2023. 7. 31.
추상 클래스/ 인터페이스 다중 상속 자바에서 클래스의 다중 상속은 불가능 → 두 개의 클래스에서 같은 메소드를 상속 받으면 둘 중 어느 것을 상속 받을지 판단할 수 없다. But, 인터페이스의 다중 상속은 가능 → 두 개의 인터페이스에서 같은 메소드를 상속 받을 때는 아직 구현되지 않은 추상 메소드이기 때문에 가능하다. 추상 클래스 추상 메소드를 선언하여 상속을 통해 자식 클래스에서 완성하도록 유도하는 클래스 특징 최소 하나 이상의 추상 메소드를 포함 추상 메소드가 아닌, 미리 구현 된 메소드를 가질 수도 있다 상속을 위한 클래스이기 때문에 객체 생성이 불가능 다중 상속 불가능 인터페이스 구현을 위한 설계도 특징 모든 메소드 가 추상 메소드 인터페이스 내의 모든 메소드 는 추상 메소드 이기 때문에 abstract을 (굳이) 붙이.. 2023. 3. 22.
Java: int to string (문자열 연결 문자열과 int값을'+'연산자로 연결하면 문자열로 변경할 수 있다. public class intToString { public static void main(String[] args) throws IOException { BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out)); int a = 123; bw.write(a+"\n"); bw.flush(); bw.close(); } } 2022. 4. 27.