강의

멘토링

로드맵

Inflearn brand logo image

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

jessy4295님의 프로필 이미지
jessy4295

작성한 질문수

기초 탄탄! 독하게 시작하는 Java - Part 1 : 절차적 프로그래밍

Windows OS 사용에 관한 정리

"인스턴스" 용어에 대해 질문드립니다.

해결된 질문

작성

·

71

·

수정됨

0

안녕하세요. 강사님.

인스턴스 용어 사용에 대해 궁금한 점이 있어 질문드립니다.

강의 내용 중 int a; (섹션1. Windows OS 사용에 관한 정리 - 16:30초쯤)

"a에 대해서 변수라고도 하지만 인스턴스 라고도 한다. integer 형식의 인스턴스라고 표현하기도 한다."라고 설명을 해주셨는데요.

 

제가 책에서 학습한 내용(자바의정석1권, p.232)으로는 "어떤 클래스로부터 만들어진 객체를 그 클래스의 인스턴스(intstance)라고 한다" 설명하고 있고. 예를 들어, 아래 코드와 같은 경우 "bus는 Car 클래스의 인스턴스 다"라고 일반적으로 표현하는 것으로 알고 있습니다.

Car bus = new Car ( );

 

앞서 설명해주신 int a;에서 a를 인스턴스, integer 형식의 인스턴스라고 표현하는 것이 일반적인 것인지? 아니면 넓은 의미로써 사용이 가능한 것인지 궁금합니다.

 

좋은 강의 감사합니다.

답변 1

1

널널한 개발자님의 프로필 이미지
널널한 개발자
지식공유자

네, 객체지향 프로그래밍에서는 일반적입니다. 다만 논란이 있습니다. 인스턴스라는 표현 자체는 객체지향 언어에서 주로 사용하고 C언어에서는 변수라고 합니다. 상당히 유서(?)깊은 논란으로 알고 있습니다. 개인적으로 저는 인스턴스라고 표현하는 것이 맞다고 보는 입장이나 좀 더 솔직한 생각은 '관심 없다'라는 표현이 적절하겠습니다. 이는 학자들의 논쟁꺼리가 아닐까 싶습니다.

 

그리고 자바의 정석에서 어떻게 다뤘는지 확인하지는 못했으나

Car bus = new Car();

에서 bus는 인스턴스가 아니라 Car 인스턴스에 대한 참조(참조 변수) 입니다. C언어에서는 포인터 같은 것입니다. 참조와 인스턴스는 확실하게 구분하는 것이 맞습니다. 참고하시기 바랍니다. 😄

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

그렇군요! 저도 관심 끄고 학습에 매진해야겠네요!!

 

앗! 자바의 정석에서는 "어떤 클래스로부터 만들어진 객체를 그 클래스의 인스턴스(intstance)라고 한다"라는 설명만 가져와 작성했습니다.

 

예제는 제가 만들어 작성했고, 틀리게 설명을 했네요. 잘못 알고 있던 내용을 뒤에서 명확히 학습해야겠네요!

 

친절한 설명 감사합니다. 선생님.

 

jessy4295님의 프로필 이미지
jessy4295

작성한 질문수

질문하기