클래스, 객체, 인스턴스의 개념
클래스(Class)
- 객체 지향 프로그래밍에서 특정 객체를 생성하기 위해 변수와 메소드를 정의하는 일종의 틀입니다.
- 클래스에 포함되는 title, author과 같은 변수는 속성(property)라고 하며 함수는 메소드(method)라고 합니다.
예시
// 클래스
public class Book {
String title;
String author;
public void read(){...}
}
객체(Object)
- 클래스가 붕어빵을 찍어낼수있는 틀이라면 틀에서 나오는 붕어빵이 객체라고 이해할수 있다.
- 하나의 클래스로부터 수많은 객체를 생성할수 있다.
예시
// 클래스
public class Book {
String title;
String author;
...
}
//메인함수에 선언된 객체
public static void main(String[] args){
Book littlePrince,harrypotter; //객체
}
인스턴스(Instance)
- 클래스의 구조로 컴퓨터 저장공간에 할당된 실체를 의미합니다.
- 클래스 타입으로 선언된 객체를 실제 메모리에 할당되었을때 인스턴스라고 한다.
예시
// 클래스
public class Book {
String title;
String author;
...
}
//메인함수에 선언된 객체
public static void main(String[] args){
Book littlePrince, harrypotter; //객체
//객체 인스턴스화
littlePrince = new Book(); // littlePrince는 Book클래스의 인스턴스(객체를 메모리에 할당)
harrypotter = new Book(); // harrypotter는 Book클래스의 인스턴스(객체를 메모리에 할당)
}