클래스명 변수명; // 클래스의 객체를 참조하기 위한 참조변수를 선언
변수명 = new 클래스명(); // 클래스 객체를 생성 후, 객체의 주소를 참조변수에 저장
Tv t; ← t가 참조변수(리모콘) // tv클래스 타입의 참조변수 t를 선언, tv = 참조형,tv 리모콘을 가리킴
t = new Tv(); // tv인스턴스를 생성한 후, 생성된 Tv인스턴스의 주소를 t에 저장, new tv가 tv임
즉, TV(객체)를 다루려면 리모콘(참조변수)이 필요함
대입연산자(객체생성)로 리모콘과 객체를 연결해 줌
= 이게 대입연산자 오른쪽 값을 왼쪽에 있는 변수에 대입해줌
2.객체의 사용 - 객체가 가지고 있는 변수와 메소드를 사용한다는 뜻
t.channe1 = 7; // Tv인스턴스의 멤버변수 channe1의 값을 7로 한다.
t.channe1Down(); // 메서드 사용(호출) Tv인스턴스의 메서드 channe1Down()을 호출한다.
System.out.println("현재 채널은 " + t.channe1 + " 입니다.");
3단계로 만들면 된다!
1.클래스작성(설계도) 2.객체생성(제품을 만들고) 3.객체사용 (제품을 사용)
청소부 / 자바는 편리하게 주기적으로 메모리를 확인해서 사용하지않는 객체를 지워줌
class Tv {
// tv의 속성(멤버변수)
String color;
boolean power; //전원상태
int channe1; // 채널
// tv의 기능(메서드)
void power() {
power = !power; // Tv를 켜거나 끄는 기능을 하는 메서드
여기서 나오는 !(느낌표) 는 논리부정 연산자: true를 false로, false를 true로 변경하기때문에 boolean 타입에서만 사용 가능
}
void channe1Up() {
++channe1; // Tv의 채널을 높이는 기능을 하는 메서드
}
void channe1Down() {
--channe1; // Tv의 채널을 낮추는 기능을 하는 메서드
}
class Ex6_1 {
public static void main(String args[]) {
tv = t; //Tv인스턴트를 참조하기 위한 변수 t선언
t = new Tv(); // Tv인스턴스를 생성
t.channe1 = 7; // Tv인스턴스의 멤버변수 channe1의 값을 7로 설정
t.channe1Down(); // Tv인스턴스의 메서드 channe1Down에서 메서드 호출
System.out.println("현재 채널은 " + t.channe1 + "입니다.");
}
}
논리부정 연산자 (결과값이 boolean)
!A
A가 true면 false로, false면 true로 변경
수업때는 이해되지만 집에 돌아와서 다시 복습하면 하나도 모르겠음
그래도 자(바의아)버지 덕분에 그나마 다시 이해가 감........🤣
참조
자바의 정석 기초편 codechobo.com