해결된 질문
작성
·
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언어에서는 포인터 같은 것입니다. 참조와 인스턴스는 확실하게 구분하는 것이 맞습니다. 참고하시기 바랍니다. 😄
그렇군요! 저도 관심 끄고 학습에 매진해야겠네요!!
앗! 자바의 정석에서는 "어떤 클래스로부터 만들어진 객체를 그 클래스의
인스턴스(intstance)
라고 한다"라는 설명만 가져와 작성했습니다.예제는 제가 만들어 작성했고, 틀리게 설명을 했네요. 잘못 알고 있던 내용을 뒤에서 명확히 학습해야겠네요!
친절한 설명 감사합니다. 선생님.