생성자 (1) 썸네일형 리스트형 [ASM] static과 인스턴스 필드 생성자 호출 - <clinit>, <init> : 정적 초기화 생성자 블록, : 생성자 호출 블록 변수를 만드는 것과, 생성자를 불러서 초기 값을 지정하는 것은 다른 프로세스이다. 쉽게 말해서 Obj obj; 와 Obj obj = new Obj(); 은 JVM 동작 자체가 다르다. asm으로 변수를 생성하는 것과는 별개로, clinit과 init 호출을 통해 이것의 생성자를 mv으로 호출하고, 이 생성자들을 통해 값을 넣어줄 수 있다 clinit과 init은 Java 바이트코드에서 특별한 의미를 가지는 메서드 이름이다. 이들은 클래스 단위로 작동하며, 특정 객체 인스턴스에 대한 것이 아니다. 이 메서드를 통해 정의된 코드는 클래스가 JVM에 의해 로딩되는 시점에 한 번만 실행된다. : static에서의 생성자 호출 는 Java 클래스의 정적 초기화 .. 이전 1 다음