Backend/JAVA
자바(4)- Class(instance의 생성과 사용)
creativeDeveloper!
2022. 9. 12. 01:16
728x90
1. 객체와 인스턴스
클래스로부터 객체를 만드는 과정을 클래스의 인스턴스화라고 하며, 어떤 클래스로부터 만들어진 객체를 그 클래스의 인스턴스라고 한다.
결국,
객체=인스턴스
2. 객체의 구성요소(속성과 기능)
객체는 속성과 기능으로 이루어져 있으며, 이 둘을 객체의 멤버라고 한다.
속성-> 멤버변수/특성/필드/상태
기능-> 메서드/함수
public class Tv {
//Tv의 속성(멤버변수)
String color; //색상
boolean power; //전원
int channel; //채널
//Tv의 기능(메서드)
void power() {power=!power;} //Tv를 켜거나 끄는 기능을 하는 메서드
void channelUp() {++channel;} // Tv채널을 높이는 기능을 하는 메서드
void channelDown() {--channel;} //Tv 채널을 낮추는 기능을 하는 메서드
}
3. 참조변수란?
참조변수는 말 그대로 객체를 만드는데 참조하는 변수이다. Tv객체를 생성한다 했을때,
리모콘이 참조변수 역할을 해준다 할 수 있다.
아래는 위의 속성과 기능을 가지고 메인 메서드가 있는 TV 객체를 생성한 클래스이다.
public class TvTest {
public static void main(String[] args) {
Tv t; // Tv인스턴스를 참조하기 위한 변수 t를 선언
t=new Tv(); // Tv인스턴스를 생성한다.
t.channel=7; // Tv인스턴스의 멤버변수 channel을 7로 한다.
}
}
이번에는 리모콘 두개를 사용해보자.
public class TvTest2 {
public static void main(String[] args) {
Tv t1=new Tv();
Tv t2=new Tv();
System.out.println("t1의 채널은"+t1.channel+"입니다.");
System.out.println("t1의 채널은"+t2.channel+"입니다.");
t1.channel=7; //channel의 값을 7로 한다.
System.out.println("t1의 채널을 7로 변경하였습니다.");
System.out.println("t1의 채널은"+t1.channel+"입니다.");
System.out.println("t2의 채널은"+t2.channel+"입니다.");
}
}
t1으로 만들어진 TV 객체만 채널을 7로 변경했기때문에 출력 결과 t1.channel은 7이고, t2.channel은 0이다.
이를 통해 참조변수는 각자 다른 주소를 저장한다는 것을 알수있다.
728x90