강의

멘토링

커뮤니티

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

gw Lee님의 프로필 이미지
gw Lee

작성한 질문수

홍정모의 따라하며 배우는 C++

8.1 object, class,instance 제가 제대로 이해했는지 질문드립니다

작성

·

150

0

 object는  속성(변수)+행위(함수,메서드)를 갖는 모든 것들의 추상적 개념(메모리 주소 없어서)이라고 이해했습니다.

class는 그 object 안에서 특정 행위(함수)+속성(변수)를 갖는 것을 묶어놓은 추상적 개념(메모리 주소 없어서)이라 이해했습니다.

그리고 instance는 class를 틀로 찍어낸 실체화된 것(주소 존재해서)이 라고 이해했습니다.

사람들이 object와 instance를 혼동하는 이유가

모든 instance는 object에서 파생된 것이기에 '모든 instance는 object이다. 즉, instance=object이다'가 성립하지만

모든 object가 인스턴스는 아니기 때문에 'object=instance'라고 하면 거짓이 돼서 그런 건가요?

답변 1

0

제 입장에서는 추상적개념이라는 말이 낯설게 다가오네요. 제가 놓친 것이라 생각되는데 무슨 뜻인가요?

object에 대해서는 https://en.wikipedia.org/wiki/Object_(computer_science)
전에도 링크를 달아드렸던 것 같은데 첫 번째 줄이라도 주의깊게 읽어보셨으면 좋겠네요. ('추상적 개념'과 '메모리 주소 없어서' 라는 표현이 마음에 걸리는데 이 부분 때문에 전혀 읽으시지 않으셨구나... 하는 생각이 듭니다...!!)

어떻게 보면 별 도움이 안됐다는 것이니 해석을 해드리자면
object는 메모리 상에 저장된 값(value)이고 identifier(변수의 경우 변수명, 함수의 경우 함수명, dynamically allocated memory의 경우 그 주소가 비슷한 역할)를 통해 참조할 수 있는 것입니다.
여기까지 보셨어도 다시 링크로 들어가서 읽어보셨으면 좋겠습니다.

class는 거의 맞지만 추상적 개념이라는 말에는 동의하기 힘들군요. 추상화(abstraction)에 큰 도움이 되는 존재이긴합니다.

instance는 맞다고 생각됩니다.

gw Lee님의 프로필 이미지
gw Lee

작성한 질문수

질문하기