• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

인스턴스 관련해서 질문이 있습니다.

20.10.20 22:46 작성 조회수 272

5

안녕하세요. 우선 매번 좋은 강의 올려주셔서 정말 감사합니다^^

질문이 있는데 클래스 로딩이 끝나고 나서 heap 영역에 인스턴스 관련 정보가 들어가 있고

Class<Book> bookClass = Book.class 를 통해 인스턴스를 가져올 수 있다고 했는데

그러면 이 인스턴스는 new Book() 으로 생성된 인스턴스와는 다른 건가요?

실제 멤버변수의 값을 가져오기 위해서는 왜 new Book() 으로 인스턴스를 생성해야 하는지 궁금합니다.

그리고 Book.class 로 가져오는 인스턴스와 new Book() 으로 생성된 인스턴스가 다르다면 어떻게 다른지도 알 수 있을까요?

답변 1

답변을 작성해보세요.

7

Book.class와 New Book() 인스턴스는 타입부터가 다르니 당연히 다른 인스턴스죠. 실제 다른지는 인스턴스를 가지고 == 비교를 해보시면 될테구요. Book.class는 'Book 클래스'에 대한 정보를 담고 있는 인스턴지 Book 인스턴스가 아니기 때문에 Book 인스턴스의 멤버 변수값을 가져올 수 없습니다.

클래스와 인스턴스에 대해 좀 더 고민하고 공부해 보시기 바랍니다.