class
- 객체를 만들어내기 위한 설계도, 틀
- 연관되어있는 변수와 method의 집합
객체
-
소프트웨어 세계에 구현할 대상
-
클래스에 선언된 모양 그대로 생성된 실체
-
특징
- 클래스의 instance
- 객체는 모든 인스턴스를 대표하는 포괄적인 의미를 갖는다
- 객체지향 관점에서 클래스의 타입으로 선언되었을 때 부르는 말이다
인스턴스(객체)
- 객체에 포함된다.
- 객체지향의 관점에서 객체가 메모리에 할당되어 실제 사용될 때를 뜻한다
- 추상적인 개념과 구체적인 객체 사이의 관계에 초점을 맞출 경우에 사용
- 인스턴스는 클래스와 객체 사이의 관계로 한정지을 필요가 없다
- 추상적인 개념으로부터 생성된 복제본을 의미한다
예시
/* 클래스 */
public class Animal {
...
}
/* 객체와 인스턴스 */
public class Main {
public static void main(String[] args) {
Animal cat, dog; // '객체'
// 객체의 인스턴스화
cat = new Animal(); // cat은 Animal 클래스의 '인스턴스'(객체를 메모리에 할당)
dog = new Animal(); // dog은 Animal 클래스의 '인스턴스'(객체를 메모리에 할당)
}
}
클래스, 객체, 인스턴스의 차이
클래스 VS 객체
- 클래스: 설계도
- 객체: 설계도로 구현한 모든 대상
객체 VS 인스턴스
- 클래스 타입으로 선언된 것 VS 객체가 메모리에 할당되어 실제 사용되는 것