클래스(Class)
우리가 어떤 가전 제품을 만들 때 해당 제품의 설계도가 있어야 만들 수 있다.
클래스는 제품(객체)를 만드는데 사용되는 설계도로 어떤 제품인지 정의하고 생성하는데 사용된다.
클래스의 3가지 관점
클래스는 다음의 3가지 관점으로 볼 수 있다.
1. 설계도
앞서 언급한 내용처럼 어떠한 제품(객체)를 만드는데 필요한 설계도로 볼 수 있다.
2. 데이터 + 함수
클래스는 여러 가지 데이터 타입들과 함수를 묶을 수 있다.
Class Time {
int hour;
int minute;
int second;
}
3. 사용자 정의타입
클래스는 원하는 타입을 직접 만들 수 있다.
객체(Object)
객체는 설계도(클래스)를 바탕으로 만들어진 제품(객체)을 의미한다.
설계도(클래스)를 바탕으로 에어컨(객체)를 만들면 해당 에어컨의 기능과 속성을 사용할 수 있다.
하지만 에어컨(객체)를 사용하려면 그냥 사용할 수 없고 누군가 에어컨의 전원을 켜주고, 온도를 낮추는 등 외부 조작이 필요하다. 그러기 위해서 필요한 것이 에어컨 리모컨(참조 변수)이다.
리모컨(참조변수)을 통해 에어컨을 조작하여 해당 기능과 속성을 사용할 수 있다.
하지만 여기서 조심해야 될 것은 하나의 리모컨(참조 변수)는 여러 에어컨(객체)를 조작할 수 없다는 것이다.
위 사진 처럼 S전자 에어컨은 그에 맞는 S전자 리모컨들로 참조할 수 있지만, 하나의 리모컨으로 여러 종류의 에어컨을 조작할 수 없다.
에어컨 리모컨이 필요할 때 개별적으로 생성하는 것이 아닌 배열로 생성하여 보다 효율적으로 코드를 작성할 수 있다.
'자바' 카테고리의 다른 글
객체 지향 프로그래밍 - Super (0) | 2023.08.15 |
---|---|
객체 지향 프로그래밍 - 상속 (0) | 2023.08.15 |
객체 지향 프로그래밍 - 생성자 & this (0) | 2023.08.06 |
객체 지향 프로그래밍 - 오버로딩(Overloading)과 오버라이딩(Overriding) (0) | 2023.08.06 |
객체 지향 프로그래밍 - 변수와 메서드 (0) | 2023.08.05 |