자바의 정석 책과 안드로이드 앱스쿨에서 공부한 내용을 정리한 내용입니다.
클래스와 객체에 대해 학습을 했으니 이번에는 클래스를 만들어 인스턴스를 생성해서 사용하는 방법을 기록해 보도록 하겠습니다.
public class MainClass {
public static void main(String[] args) {
Tv t = new Tv(); // Tv의 인스턴스를 생성 후 변수 t에 참조한다.
t.channel = 7; // Tv인스턴스의 멤버변수 channel의 값을 7로 한다.
t.channelDown();// Tv의인스턴스의 메서드 channelDown()을 호출한다.
System.out.println(t.channel + "번");
}
}
class Tv {
// Tv의 속성 (멤버변수)
String color; // 색상
boolean power; // 전원상태(on/off)
int channel; // 채널
// TV의 기능 ( 메서드)
void power() {
power = !power;
} // TV를 켜거나 끄는 기능을 하는 메서드
void channelUp() {
++channel;
} // TV의 채널을 올리는 기능을 하는 메서드
void channelDown() {
--channel;
}// TV의 채널을 내리는 기능을 하는 메서드
}
자바의 정석책에서 예제를 가져왔습니다.
TV채널을 올리고 내리고 하는 기능을 가지는 리모컨의 기능을 가지는 클래스를 만들어 봤습니다.
이 예제를 통해 알아낸 것은 new
를 통해 Tv클래스의 인스턴스가 메모리의 빈 공간에 생성되고 Tv클래스의 타입의 참조변수를 참조한다.
즉, 인스턴스는 참조변수를 통해서만 다룰 수 있으며, 참조변수의 타입은 인스턴스의 타입과 일치해야한다.