LINE Pay Real 환경에서
NPE가 발생했다.
NPE를 해결하기 위해
코드를 보는데
이게 어떻게 NPE가 발생하지? 란 생각이 들었다.
이 글의 개념 및 코드들은 책을 읽으며 정리한 내용을 바탕으로 작성하였습니다.
이번 글에서는
클래스에 접근하여 정보를 수정하는 방법에 대해 알아본다.
이 글의 개념 및 코드들은 책을 읽으며 정리한 내용을 바탕으로 작성하였습니다.
이번 글에서는
클래스에 접근하여
클래스 정보를 조회하는 방법에 대해 알아본다.
클래스에 접근하여
정보를 조회하는 과정을 이해하는데 있어
핵심이 되는 개념은
리플렉션(Reflection)과 Class< T > API를 사용하는 것이다.
이 글의 개념 및 코드들은 책을 읽으며 정리한 내용을 바탕으로 작성하였습니다.
이번 글에서는
클래스에 생성자에 접근하는 방법에 대해 알아본다.
클래스를 접근하기 위해서
해당 클래스의 생성자를 호출한다.
생성자의 Parameter가 있는 경우
생성자의 Parameter가 없는 경우
이 글의 개념 및 코드들은 책을 읽으며 정리한 내용을 바탕으로 작성하였습니다.
.class에서 Byte Code를 읽고 메모리에 저장한다.
클래스 로더 시스템이 끝나면
해당 Class Type의 Class 객체를 생성하여
힙 영역에 저장한다.
자세한 개념은 클래스 로더(Class Loader) 글을 참고하자.
이 글의 개념 및 코드들은 책을 읽으며 정리한 내용을 바탕으로 작성하였습니다.
클래스 로더가 .class 파일을 읽고
그 내용에 따라 적절한 바이너리 데이터를 만들고
Method 영역에 저장한다.
Method 영역에 저장하는 데이터
Type 정보 (클래스, 인터페이스, Enum)
메소드와 변수
FQCN (Fully Qualified Class Name)
package goodgid.gidhub;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class GidhubApplication {
public static void main(String[] args) {
// FQCN 사용
org.springframework.boot.SpringApplication.run(GidhubApplication.class, args);
// FQCN 사용 X
SpringApplication.run(GidhubApplication.class, args);
}
}