클래스 / 객체 / 인스턴스의 간단하고 쉽게 정리한 개념 및 차이
클래스 (class)
- 변수와 매서드를 가지고 있는 집합이다.
- 객체를 생성하기 위한 틀이다.
- 자바 = 클래스들의 모임이다.
- 쉽게 붕어빵의 틀이라고 비유한다.
객체 (object)
- 물리적으로 존재하거나 추상적으로 생각할 수 있는 것 중에서 자신의 속성을 가지고 있고,
다른 것과 식별 가능한 것을 말한다. - 쉽게 붕어빵이라고 비유한다.
인스턴스 (instance)
- 쉽게 클래스가 붕어빵 틀이라면, 그 틀 (class) 을 통해 생성된 객체 (붕어빵) 하나하나를 해당 클래스의 인스턴스라고 한다.
- 클래스의 소속된 개별적인 객체를 말한다.
// 클래스
public class Chicken {
...
}
public Main {
public static void main(String[] args) {
Chicken leg; // 객체
//인스턴스화
leg = Chicken(); // leg 는 Chicken 클래스의 인스턴스
클래스 (class) 와 객체 (object) 의 차이
- 클래스는 '설계도', 객체는 '설계도로 구현한 모든 대상'을 의미한다.
객체 (object) 와 인스턴스 (instance) 의 차이
- 클래스의 타입으로 선언 되었을 때 객체라고 부르고 그 객체가 메모리에 할당 되어 사용될 때 인스턴스라고 부른다.
- 객체는 '실체', 인스턴스는 '관계'에 초첨을 맞춘다.