현실 세계의 객체(Object)를 소프트웨어에서 클래스(Class)라는 설계도로 표현하고, 클래스를 통해 생성하면 인스턴스(Instance)가 된다
Object
- 어떤 역할을 하는 주체.
- 상태와 동작을 가진다.
- OOP에서는 이를 소프트웨어로 구현하고자 한다. → Class
Class
- Object(객체)를 여러 개 만들기 위한 설계도
- field와 method를 가진다.
- 이를 통해 객체의 상태와 동작을 표현한다.
Instance
- 소프트웨어에서 Class를 통해 생성하여 메모리에 할당하면 인스턴스(Instance)라고 한다.
- 즉, Object가 실체화되면 Instance라고 하는 것.
- 실체화할 때 Class를 사용한다.
- Object는 Class의 Instance
- 반면, 실행 프로세스는 프로그램의 Instance이기도 하므로, Class와 Object의 관계에서 한정지어 사용할 필요는 없다.
- 포괄적인 의미 : Instance는 어떤 원본으로부터 생성된 복제본
/* Animal Class */
public class Animal {
...
}
/* Object와 Instance */
public class Main {
public static void main(String[] args) {
Animal cat, dog; // 'Object'
// Instance화
cat = new Animal(); // cat은 Animal Class의 'Instance'(Object를 메모리에 할당)
dog = new Animal(); // dog은 Animal Class의 'Instance'(Object를 메모리에 할당)
}
}
References
'취업 > 준비' 카테고리의 다른 글
[알고리즘/정렬] Quick Sort 퀵 정렬 - C++ 코드, 시간/공간 복잡도 (0) | 2019.10.27 |
---|---|
[알고리즘/정렬] Merge Sort 합병 정렬 - C++ 코드, 시간/공간 복잡도 (0) | 2019.10.27 |
Overriding VS Overloading (오버라이딩 VS 오버로딩) (0) | 2019.10.24 |
node.js의 특징 (0) | 2019.10.24 |
객체지향 / OOP에 대해 설명해보세요 (0) | 2019.10.24 |