아하
검색 이미지
생활꿀팁 이미지
생활꿀팁생활
생활꿀팁 이미지
생활꿀팁생활
착실한왜가리35
착실한왜가리3519.02.27

프로그래밍 언어에서 클래스와 인스턴스 차이가 무엇인가요?

클래스와 인스턴스 차이점이 궁금합니다.

55글자 더 채워주세요.
답변의 개수3개의 답변이 있어요!
  • 클래스의 정의 : 객체를 정의해 놓은 것.

    클래스의 용도 : 객체를 생성하는 데 사용

    ▶ 객체와 인스턴스

    - 클래스의 인스턴스화(instantiate) : 클래스로부터 객체를 만드는 과정

    - 클래스의 인스턴스(instance) : 클래스로부터 만들어진 객체

    객체는 모든 인스턴스를 대표하는 포괄적인 의미를 갖고 있으며,

    인스턴스는 어떤 클래스로부터 만들어진 것인지를 강조하는 보다 구체적인 의미

    ex) Tv 클래스로부터 만들어진 객체 -> Tv 클래스의 인스턴스

    '책상은 객체다', '책상은 책상 클래스의 인스턴스다'

    클래스 ----(인스턴스화)-----> 인스턴스(객체)


  • 오리건 주립대학 티모시 버드 교수의 저서 "An Introduction to Object-Oriented Programming"을 보면 아주 쉽게 설명하고 있습니다.

    Every object is an instance of a class.

    모든 객체는 클래스의 인스턴스이다. 입니다. 클래스에 대한 정의를 살펴보면,

    A class simply represents a grouping of similar objects.

    클래스는 단순히 유사한 객체의 그룹을 표현한다. 예를 들면 자동차, (기아 자동차, 현대 자동차, 르노 자동차 등)에 대한 그룹을 표현하는 것입니다.

    소스 코드로 보면, 클래스는 객체를 표현한 코딩이고, 이를 실행해서 메모리에 올라가면 인스턴스가 됩니다.

    인스턴스와 객체는 똑같은 말입니다.

    참고 : "An Introduction to Object-Oriented Programming"의 p13, ALan Kay의 OOP 정의


  • 보통 붕어빵으로 비유하던데...

    붕어빵을 찍기위한 틀이 클래스고

    그걸로 붕어빵을 찍어서 만들면 인스턴스입니다.

    또는 클래스 = 설계도

    그 설계도로 만든 제품 = 인스턴스 로 이해하시면 되겠습니다.

    물론 스태틱 클래스나 여러 가지 것들이 있기는 하지만 기본적으론 설계도와 실제품같은 느낌으로 이미지 하시면 좋을것 같네요.