인프런 커뮤니티 질문&답변

ghuhan18님의 프로필 이미지
ghuhan18

작성한 질문수

김영한의 실전 자바 - 기본편

객체 생성 질문

작성

·

191

0

즉 ValueObject 라는 클래스에 만약 hello 라는 변수로 만들었다고 가정해보겠습니다.

ValueObject hello = new ValueObject();

그러면 hello 라는 객체가 생긴거고 오른쪽 그림에는 hello 인스턴스가 생성된 것인가요 ?

아니면 hello 라는 객체가 생성되었꼬, ValueObject 라는 인스턴스가 생성된 것인가요 ?

답변 2

1

ghuhan18님의 프로필 이미지
ghuhan18
질문자

String st1= "hello" ; 라고 할때, st1 이 참조값을 가지고 있는 변수고 "hello" 가 객체인가요 ?

st1 이 객체인지 "hello" 가 객체인지 헷갈려요

일반적인 참조형 변수에는 해당 객체의 참조값이 대입됩니다. 일반적인 참조형 변수는 해당 객체의 참조값이 대입되어있다고 이해해주시면 감사하겠습니다:) 다만 Java String은 문자열을 대입하는 좀 특별한 참조형 타입입니다!

다음 링크(클릭) 을 참고해주십쇼!

0

안녕하세요. ghuhan18님, 공식 서포터즈 y2gcoder입니다.

 

ValueObject hello = new ValueObject();

위의 hello는 변수명입니다. 객체에 이름을 붙여줬다고 볼 수 있습니다. 한편 이 hello라는 객체는 ValueObject 클래스의 인스턴스이기도 합니다. 저희가 배웠듯이 인스턴스는 주로 어떤 클래스로 만든 객체를 의미합니다.

그래서 정리하면 hello 라는 이름의 객체는 ValueObject 클래스의 인스턴스라고 할 수 있습니다! 그리고 더 나아가면 hello라는 변수를 만들고 거기에 ValueObject 클래스의 인스턴스의 참조값을 대입해줬다고 생각할 수도 있을 것 같습니다 :)

각 용어에 대해서는 1. 클래스와 데이터클래스, 객체, 인스턴스 정리 를 복습해보시는 것을 추천합니다!

 

 

감사합니다.

ghuhan18님의 프로필 이미지
ghuhan18
질문자

인스턴스는 메인 메소드 말고 다른 class 에서 만든 필드 변수들이 인스턴스 아닌가요?

인스턴스는 메인 메서드에 국한된 개념이 아닙니다!

인스턴스는 객체를 좀더 클래스 타입과 관련지어 부르는 용어라고 생각하셔야 합니다!

image

ghuhan18님의 프로필 이미지
ghuhan18

작성한 질문수

질문하기