본문 바로가기
Java

[Java] 객체(object) vs. 클래스(class) vs. 인스턴스(instance)

by 왕타오 2023. 10. 8.

 

* 객체란?

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

- 클래스에 선언된 모양 그대로 생성된 실체 (설계도로 구현한 모든 대상)

- 인스턴스를 포함하는 포괄적인 의미

- oop의 관점에서 클래스의 타입으로 선언되었을때 '객체' 라고 불림

- 프로그래밍에서의 객체는 속성과 기능을 가지는 프로그램 단위

 

* 클래스란? 

- 객체를 만들어 내기 위한 설계도, 툴

- 자바의 가장 작은 단위

- 변수와 메서드의 집합 (상태와 행동)

 

* 인스턴스란? 

- 설계도(클래스)를 바탕으로 소프트웨어 세계에 구현된 구체적인 실체

- 객체를 소프트웨어에 실체화 하면 그것을 인스턴스라고 부른다

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

- 인스턴스는 객체에 포함된다

- oop의 관점에서 객체가 메모리에 할당되어 실제 사용될 때 인스턴스 라고 부른다. 

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

- 인스턴스는 어떤 원본(추상적인 개념)으로부터 생성된 복제본을 의미한다.

 

* 의미적 관계

- 객체 > 인스턴스 > 클래스

 

* 객체 vs. 인스턴스

- 클래스의 타입으로 선언되었을 때 객체라고 부르고, 그 객체가 메모리에 할당되어 실제 사용될 때 인스턴스라고 부른다.

- 객체는 현실 세계에 가깝고, 인스턴스는 소프트웨어 세계에 가깝다

- 객체는 '실체', 인스턴스는 '관계'에 초점을 맞춘다.

- 객체를 클래스의 인스턴스 라고도 부른다

 

※ Reference

https://cerulean85.tistory.com/149

 

객체와 인스턴스의 차이

* 자의적인 해석이므로 논란의 여지가 있음 객체와 인스턴스의 차이를 알아보니 블로그마다 말이 다르다. 어떤 블로거는 인스턴스는 객체와 같지만, 관계적인 측면에서 이야기할 때 객체 대신

cerulean85.tistory.com

https://upcake.tistory.com/418 

 

[Java] 도대체 객체가 뭔데? : 객체, 클래스, 인스턴스

1. 개요 개발을 하다 보면 정말 자주 듣고 보고 말하고 쓰게 될 말이 객체입니다. 도대체 객체란 무엇일까요? 오늘 포스트에서는 객체, 클래스, 인스턴스에 대해서 제가 공부한 것을 바탕으로 아

upcake.tistory.com

https://alfredjava.wordpress.com/2008/07/08/class-vs-object-vs-instance/ 

 

Class vs Object vs Instance

In OO Programming, we often hear of terms like “Class”, “Object” and “Instance”; but what actually is a Class / Object / Instance? In short, An object is a softw…

alfredjava.wordpress.com