클래스
클래스란 객체를 정해놓은 것입니다.
쉽게 생각해서 설계도 또는 틀 이라고 정의할수 있습니다.
클래스의 정의 클래스란 객체를 정의해 놓은것입니다.
클래스의 용도 객체를 생성하는대 사용됩니다.
객체와 인스턴스
클래스로부터 객체를 만드는 과정을 클래스의 인스턴스화 라고 하며, 어떤클래스로부터 만들어진 객체를 그 클래스의 인스턴스라고 합니다.
인스턴스와 객체는 같은 의미이므로 두용어를 엄격히 구분할 필요는 없습니다.
객체의 구셩요소 -속성과 기능
속성(property) 맴버변수,특성,필드,상태
기능(function) 메서드,함수,행위
클래스명 변수명; //클래스의 객체를 참조하기 위한 참조변수를 선언
변수명 = new 클래스명(); //클래스의 객체를 생성 후, 객체의 주소를 참조변수에 저장
Tv t; //Tv클래스 타입의 참조변수 t를 선언
t = new Tv(); //Tv인스턴스를 생성한 후. 생성된 Tv인스턴스의 주소를 t에 저장
class Ex6_1 {
public static void main(String[] args) {
// TODO Auto-generated method stub
Tv t;
t = new Tv();
t.channel = 7;
t.channelDown();
System.out.println("현재 채널은 " + t.channel+ " 입니다.");
}
}
class Tv {
String color;
boolean power;
int channel;
void power() {
power = !power;
}
void channelUp() {
channel++;
}
void channelDown() {
channel--;
}
}
|
cs |
출력
현재 채널은 6 입니다.
예제
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
class Ex6_2 {
public static void main(String args[]) {
Tv 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로 변경하였습니다.");
System.out.println("t1의 channel값은 " + t1.channel+ "입니다.");
System.out.println("t2의 channel값은 " + t2.channel+ "입니다.");
t2 = t1; // 참조변수 t1의 값을 t2에 저장
System.out.println("t2의 channel값은 " + t2.channel +"입니다");
}
}
|
인스턴스는 참조변수를 통해서만 다룰수 있으며, 참조변수의 타입은 인스턴스 타입과 일치해야합니다.
'JAVA > 객체지향' 카테고리의 다른 글
클래스 메서드(static)와 인스턴스 메서드 (0) | 2023.02.22 |
---|---|
기본형 매개변수와 참조형 매개변수 (0) | 2023.02.22 |
JVM의 메모리 구조 (0) | 2023.02.22 |
변수와 메서드 (0) | 2023.02.21 |
자바 객체지향 (0) | 2023.02.21 |