TV 👉 클래스 👉 class TV {
속성 | 크기, 길이, 높이, 색상, 볼륨, 채널 ...
👇
변수
👇
String color;
boolean power;
int channel;
기능 | 켜기, 끄기, 볼륨 높이기, 채널 변경하기 ...
👇
메서드
👇
void power() { power = !power; }
void channelUp() { channel++; }
void channelDown() { channel--; }
}
이것이 클래스생성
class TV {
String color;
boolean power;
int channel;
void power() { power = !power; }
void channelUp() { channel++; }
void channelDown() { channel--; }
}
클래스
👇 TV t = new TV( );
이것이 인스턴스화
객체
class명 참조변수명 = new 생성자;
class명 참조변수명 👉 ① 참조변수를 만들고
new 생성자 👉 ② 객체를 만들고 (new 연산자가 객체를 만들고, 그 객체의 주소를 알려준다.)
= 👉 ③ 참조변수와 객체를 연결해준다.
Tv t = new Tv();
Tv t 👉 ① Tv클래스 타입의 참조변수 t를 선언
new Tv(); 👉 ② 객체를 만들었다.
t = new Tv(); 👉 ③ 객체의 주소값이 참조변수 t에 대입된다.
❗❗❗참조변수 t는 객체가 아니고, 메모리에 생성된 객체를 가리키는 주소값을 가지고 있을 뿐이다. 아래 사진에 메모리에 만들어진 것이 객체이다. 객체에는 클래스가 설계된대로 변수와 메소드가 만들어진다. ❗❗❗
객체를 사용하려면 꼭 참조변수를 만들고 대입연산자를 통해 객체와 연결시켜줘야 한다.
이것이 객체사용
참조변수.변수;
. 👉 "참조변수가 가리키는 객체의"
👉 참조변수가 가리키는 객체의 변수를 사용하겠다.
참조변수.메소드( );
. 👉 "참조변수가 가리키는 객체의"
👉 참조변수가 가리키는 객체의 메소드를 사용하겠다.
t.channel = 7;
. 👉 참조변수 t가 가리키는 객체 Tv()의
👉 변수 channel을 사용하겠다.
t.channelDown( );
. 👉 참조변수 t가 가리키는 객체 Tv()의
👉 메소드 channelDown( )을 사용하겠다.
t.channel = 7;
System.out.printf("현재 채널은 %d번 입니다.",t.channel);
t.channelDown();
System.out.printf<("현재 채널은 %d번 입니다.",t.channel);
( t가 가리키고 있는 객체가 사용할 수 있는
변수는 color, power, channel이 있고,
메소드는 power(), channelUp(), channelDown()이 있다. )
꼭 참조변수를 통해서만 객체의 변수와 메소드를 사용할 수 있다.
콘솔 창 결과
현재 채널은 7번 입니다.
현재 채널은 6번 입니다.