순서대로 일어나는 일을 시간순으로 프로그래밍하는 것이 절차지향프로그래밍이라면,
객체지향프로그래밍(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! 자바프로그래밍 입문 - 박은종 지음
'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 |