1. 객체 (Object)
- 객체는 데이터 혹은 기능을 가지고 있어, 그 목적을 수행하는 것이다.
1) 객체와 클래스
- 클래스가 JVM의 메모리를 할당받아서 생성되었을 때 비로소 클래스에서 객체로 호칭이 변화된다.
- 즉, 객체와 클래스를 구별하는 것은 JVM 메모리에 생성되었는지 여부이다.
- 하나의 클래스를 사용하여 여러 개의 객체를 만들 수 있다.
- 객체를 제품으로, 클래스를 설계도라고 볼 수 있다.
2. 클래스 (Class)
- 객체를 만들기 위해 데이터와 기능을 정의해놓은 일종의 기능 명세서 또는 설계도이다.
- 클래스 선언: 제어자 + class(키워드) + 클래스 이름
- 클래스 생성: 보통 new
3. 인스턴스 (Instance)
- 어떤 클래스를 사용해서 만들어진 객체가, 메모리에 할당되어 실제 메모리를 차지 하는 것이다.
- 인스턴스는 객체보다 큰 의미이며 즉, 객체는 인스턴스의 한 종류가 된다.
1) String 클래스형을 가진 coffeeBean 객체는 실제 메모리에 문자열 데이터가 할당되지 않은 상태
- 아직 메모리에 생성되지는 않았지만 '데이터가 없는 비어 있는 객체'가 생성된 것
2) new 키워드를 사용해서 JVM 메모리에 데이터 생성
3) 이렇게 클래스로부터 객체를 실제로 메모리에 할당하는 과정을 '객체의 인스턴스화' 라고 한다.
- coffeeBean 이라는 객체는 'Arabica' 라는 문자열을 할당하여 인스턴스화된 것이다.
'JAVA > JAVA1' 카테고리의 다른 글
JAVA1_day14 | 추가공부 (0) | 2017.12.27 |
---|---|
JAVA1_day14 | 클래스 Class (2) (변수, 메소드의 종류) (0) | 2017.12.27 |
JAVA1_day13 | 클래스 Class (1) (0) | 2017.12.26 |
JAVA1_day13 | 2차 배열 Array (0) | 2017.12.26 |
JAVA1_day13 | 배열 Array 연습문제 (2) (0) | 2017.12.26 |