728x90
반응형
Class(클래스)와 객체(Object)
1. 클래스(Class)
정의 : 객체(Object)를 정의해 놓은 것
용도 : 객체(Object)를 생성하는 데 사용
TV 설계도, 붕어빵 틀, 자동차 설계도 등으로 비유하여 많이 설명한다.
2. 객체(Object)
정의 : 실제로 존재하는 것, 사물 또는 개념
용도 : 객체가 가지고 있는 기능과 속성에 따라 다름
클래스에 정의된 내용대로 메모리에 생성된 것을 의미, 인스턴스라고도 부름
TV, 붕어빵, 자동차 등이 객체로 비유하여 많이 설명한다.
3. 객체(Object)의 구성요소
속성 : 멤버변수(member variable), 특성, 필드 ,상태
기능 : 메서드(method), 함수, 행위
TV(객체)의 속성 : 색상, 길이, 채널 등
TV(객체)의 기능 : 전원 끄기, 전원 켜기, 채널 높이기 등
4. 클래스 작성하기
// TV 클래스(class) - 설계도
class TV {
// 속성 : 필드변수
String color;
int length;
boolean power;
// 기능 : 메서드
void power() { power = !power};
}
현재는 설계도, 클래스만 작성했기 때문에 위 코드는 객체가 아니라 클래스(설계도) 일뿐이다.
5. 객체 생성하기
작성한 클래스(설계도)로 객체(TV) 만들기
new 연산자를 통해 객체 생성한다.
// 1. TV 타입의 참조변수 t 선언 후 객체를 생성하여 객체의 주소를 참조변수에 저장
TV t;
t = new TV();
// 2. 한번에 하는 방법
TV t2 = new TV();
인스턴스(객체)는 참조 변수를 통해서만 다룰 수 있다.
참조 변수의 타입은 인스턴스(객체)의 타입과 일치해야 한다.
출처 : Java의 정석
728x90
반응형
'Java' 카테고리의 다른 글
[Java] CMD javac - unmappable character for encoding MS949 (0) | 2022.07.23 |
---|---|
[Java] 오버로딩(overloading) / 오버라이딩(overriding) (0) | 2021.08.28 |
[Java의 정석/5강정리] 05. 배열 (0) | 2021.08.06 |
[Java의 정석/3강정리] 03. 연산자 (0) | 2021.08.04 |
[Java의 정석/2강정리] 02. 변수 (0) | 2021.08.03 |
댓글