클래스, 객체, 인스턴스에 대한 개념 공부

2019-12-15

클래스, 객체, 인스턴스의 개념에 대해서 설명할 수 있는 정도가 목적


Class(클래스)

* 객체를 만들어 내기 위한 설계도 혹은 틀
* 연관되어 있는 변수와 메서드의 집합

Instance (인스턴스)

* 설계도를 바탕으로 소프트웨어 세계에 구현된 구체적인 실체
* 객체를 소프트웨어에 실체화한 것 = 인스턴스 (메모리에 할당됨)

Object(객체)

* 구현할 대상이라고 생각하면 됨
* 클래스에 선언된 모양대로 생성된 실체
<클래스의 인스턴스>라고도 함
객체는 모든 인스턴스를 대표하는 포괄적인 의미

클래스 vs 객체

클래스 = 설계도, 객체 = 설계도로 구현한 모든 대상

객체 vs 인스턴스

  • 클래스의 타입으로 선언되었을 때 = 객체
  • 그 객체가 메모리에 할당되어 실제 사용될때 = 인스턴스
  • 객체와 인스턴스를 엄걱하게 나누기는 어렵다.