클래스작성 -> 객체생성 -> 객체사용 (변수 ,메서드)
package javachap06;
public class Ex6_1 {
public static void main(String[] args) {
Tv t;
t = new Tv();
t.channel = 7; //객체를 사용한다는건 객체 멤버를 사용하는것
t.channelDown();
System.out.println("현재 채널은 " + t.channel + "입니다");
}
}
class Tv{
// Tv의 속성(멤버변수)
String color; // 색상
boolean power; // 전원상태
int channel; // 채널
//Tv의 기능(메서드)
void power() { power = !power;} //Tv를 켜거나 끄는 기능을 하는 메소드
void channelUp() { ++channel; } // 채널을 높이는 기능
void channelDown() { --channel; } //채널다운
}
서로 다른 주소를 갖는다
package javachap06;
public class Ex6_2 {
public static void main(String[] args) {
Tv t1 = new Tv(); // Tv t1; t1 = new Tv();를 한 문장으로 가능
Tv t2 = new Tv();
System.out.println("t1의 channel값은" + t1.channel + "입니다");
System.out.println("t2의 channel값은" + t2.channel + "입니다");
t1.channel = 7;
System.out.println("t1의 channel값을 7로 변경하였습니다.");
t2 = t1; // 참조변수 t1의 값을 t2에 저장.
System.out.println("t1의 channel값은" + t1.channel + "입니다.");
System.out.println("t2의 channel값은" + t2.channel + "입니다.");
}
}
------------------------------------------------------------------------------
t1의 channel값은0입니다
t2의 channel값은0입니다
t1의 channel값을 7로 변경하였습니다.
t1의 channel값은7입니다.
t2의 channel값은7입니다.
'JAVA' 카테고리의 다른 글
객체지향 선언 위치에 따른 변수의 종류 (0) | 2022.09.24 |
---|---|
객체지향 객체 배열 (0) | 2022.09.24 |
super 코드 정리 (0) | 2022.09.14 |
Overriding 코드 정리 (0) | 2022.09.14 |
final (0) | 2022.09.13 |