뇌운동일지

[JAVA11] 클래스(class), 객체(object), 인스턴스(instance) 본문

JAVA

[JAVA11] 클래스(class), 객체(object), 인스턴스(instance)

purpleduck 2020. 3. 17. 17:34

Class 

- 객체를 만들기 위한 설계도 

- 연관된 변수와 메소드의 집합 

 

Object

- 소프트웨어 세계에 구현할 대상 

- OOP의 관점에서 클래스 타입으로 선언되었을 때 '객체'

 

Instance 

- 설계도대로 소프트웨어 세계에 구현된 구체적인 실체 

    - 객체를 소프트웨어에 실체화한 것이 '인스턴스' 

    - 실체화 된 인스턴스는 메모리에 할당됨 

- 인스턴스는 객체에 포함

- OOP의 관점에서 객체가 메모리에 할당되어 실제로 사용될 때 '인스턴스'

- 추상적인 개념과 구체적인 객체 사이의 관계에 초점을 맞출 경우에 사용

// 클래스
public class Coffee {
}

public class Main (String[] args){
	Coffee americano, espresso;	// 객체
    
    americano = new Coffee;		// 인스턴스 
    espresso = new Coffee;		// 인스턴스 
}

 

+ 수정 

Object 와 Instance의 구별은 아직 명확하게 이해하지 못했음 

모든 class가 자동으로 상속받게 되는 Object class와 구별하기 위해 instance라는 용어를 사용하는 것이고, object와 instance는 사실 상 같다는 의견도 있었음. 

Comments