Language/JAVA
[JAVA] 객체, 클래스, 인스턴스의 차이
gangintheremark
2023. 7. 17. 13:27
728x90
객체 Object
객체지향이론에서는 소프트웨어 세계에 구현할 대상으로 사물과 같은 유형적인 것 뿐만 아니라, 개념이나 논리와 같은 무형적인 것들도 객체로 간주한다.
클래스 Class
객체를 정의해놓은 것으로 객체의 설계도 또는 틀이라고 할 수 있다. 클래스에는 객체와 연관되어 있는 변수와 메소드 그리고 생성자가 있다.
인스턴스 Instance
- 객체가 메모리에 할당되어 실제 사용될 때 인스턴스 라고 한다.
- 인스턴스는 어떤 원본(추상적인 개념)으로부터 생성된 복제본을 의미한다
- 클래스로부터 객체를 만드는 과정을 클래스의 인스턴스화 라고 하며, 만들어진 객체를 그 클래스의 인스턴스라고 한다.
/* 클래스 */
public class Cat {
// 인스턴스 변수
String name;
int age;
// 생성자
public Cat() { }
// 메소드
public String getName() {
return name;
}
}
public clas Main {
public static void main(String[] args) {
// 클래스의 인스턴스화
Cat c = new Cat(); // 객체 c 는 Cat 클래스의 인스턴스 (객체를 메모리에 할당)
}
}
붕어빵🍞에 빗대어 표현하자면 클래스
는 붕어빵을 만들기 위한 틀, 객체
는 붕어빵이다. 인스턴스
는 붕어빵을 틀로 찍어낸 각각의 붕어빵이라 생각하면 된다.
728x90