본문 바로가기

til2

『Java』 Lombok은 어떤 원리로 동작할까? Lombok은 컴파일 과정의 Annotation Processing 단계에 개입하여,소스 코드에 대한 AST(Abstract Syntax Tree, 추상 구문 트리)를 수정하거나 필요한 코드를 자동 추가한다. 동작 구조는 다음과 같다. 단계핵심설명1단계javac의 컴파일 과정자바 소스 파일을 읽고, AST(Abstract Syntax Tree)로 변환.2단계Lombok의 역할Lombok이 컴파일 중 어노테이션을 처리하고 AST(Abstract Syntax Tree)에 필요한 코드 추가.3단계바이트 코드 생성수정된 AST를 기반으로 바이트 코드(.class 파일) 생성.4단계컴파일 단계와 Annotation ProcessingLombok이 AST를 수정하며, 필요 시 컴파일 재시작 가능.   자주 사용하는.. 2024. 10. 21.
『Java』 오랜만에 Java 문법 오랜만에 자바 기본 문법을 복습해 보았는데 반가웠다. 허허특별히 어려운 건 없었고 강의를 수강하면서 리마인드 하면 좋을 만한 내용들을 정리해보려 한다.  스코프변수는 선언한 위치에 따라 지역 변수, 멤버 변수(클래스 변수, 인스턴스 변수)와 같이 분류된다. 지역 변수는 이름 그대로 특정 지역에서만 사용할 수 있는 변수라는 뜻이다.멤버 변수(클래스 변수, 인스턴스 변수)는 클래스 내부에 선언된 변수로, 다시 클래스 변수와 인스턴스 변수로 나뉜다.클래스 변수 (static 변수)인스턴스 변수static 키워드가 붙은 변수로, 클래스 로더가 클래스를 메모리에 로드할 때 초기화된다. 모든 객체가 해당 변수를 공유한다.객체마다 독립적으로 존재하는 변수로, 객체가 생성될 때마다 초기화된다.  변수의 접근 가능한 범.. 2024. 10. 20.