본문 바로가기
Backend/Java

[OOP] 클래스, 객체, 인스턴스 in Java

by 마진 2021. 5. 3.

순서대로 일어나는 일을 시간순으로 프로그래밍하는 것이 절차지향프로그래밍이라면,

 

객체지향프로그래밍(Object-Oriented Programming)은 객체를 정의하고 객체 간 협력을 프로그래밍하는 것입니다.

 

따라서, 객체 지향 프로그래밍을 할 때는 먼저 객체를 정의하고 각 객체가 어떤 기능을 제공하고

객체 간 협력을 어떻게 구현할 것인지를 고민해야 합니다.

 

 

이러한 객체지향프로그래밍에서 빼놓을 수 없는 개념이 클래스, 객체, 인스턴스 입니다.

(개인적으로 객체와 인스턴스의 개념적 차이를 잘 모르겠습니다....)

 

클래스

 - 객체의 속성과 기능을 코드로 구현

 - 객체의 설계도

 

객체

 - 프로그램에서 구현할 대상

 

인스턴스

 - 설계도를 바탕으로 프로그램에서 구현된 구체적인 실체

 

 

 

 

 

 인스턴스와 객체의 개념은 유사하며 객체가 좀 더 일반적의미로 인스턴스를 포함한다고 생각하면 될 것 같다.

 

 

 

 

StackOverflow에서 인스턴스와 객체의 차이를 묻는질문에 대한 답변 중 가장 많은 추천을 받은 답변이다.

 

볼드처리된 부분을 보면 클래스의 인스턴스와 객체의 의미는 같은 것이며 종종 바뀌어 사용될 수 있다고 되어있다.

 

글쓴이의 말처럼,

두 개념의 차이점에 집중하는 것이 아니라 지금은 객체지향프로그래밍에대한 개념을 익히고

프로그래밍 실력을 향상시키는데 비중을 두는게 더 생산적일 것이다.

 

 

- 참고 -

 

gmlwjd9405.github.io/2018/09/17/class-object-instance.html

 

[Java] 클래스, 객체, 인스턴스의 차이 - Heee's Development Blog

Step by step goes a long way.

gmlwjd9405.github.io

stackoverflow.com/questions/2885385/what-is-the-difference-between-an-instance-and-an-object

 

What is the difference between an Instance and an Object?

What is the difference between an Instance and an Object? Is there a difference or not?

stackoverflow.com

 

 

Do it! 자바프로그래밍 입문   - 박은종 지음

'Backend > Java' 카테고리의 다른 글

char - int 형변환 살펴보기  (0) 2021.05.18
객체생성 (Creating Objects) // ref: new 연산자  (0) 2021.05.05
지역변수(local variable)  (0) 2021.04.28
상수와 리터럴  (0) 2021.04.27
+연산자로 옅보는 똑똑한 Java  (0) 2021.04.25