개발 관련 지식/JAVA
인스턴스 멤버와 this
권태일1147
2020. 4. 8. 14:59
인스턴스 멤버란 객체를 생성한 후 사용할 수 있는 필드와 메소드.
즉, 객체 없이는 사용할 수 없는 필드와 메소드가 인스턴스 멤버
클래스 내부(객체 내부)에서 인스턴스 멤버에 접근하기 위해서 this를 사용할 수 있다. 주로 생성자나 메소드의 매개변수 이름이 필드와 같을 때 this을 사용해서 객체 내부의 필드임을 명시한다.
public class Car {
// 필드
String model;
int speed;
// 생성자
Car(String model) {
this.model = model;
}
// 메소드
void setSpeed(int speed) {
this.speed = speed;
}
void run() {
for(int i = 0 ; i <= 50 ; i++) {
this.setSpeed(i);
System.out.println(this.model + "가 시속 " + this.speed + "km/h으로 달립니다.");
}
}
}
// Main.java
public class Main {
public static void main(String[] args) {
Car car1 = new Car("람보르");
Car car2 = new Car("재규어");
car1.run();
car2.run();
}
}
// 람보르가 시속 10km/h으로 달립니다.
// 람보르가 시속 20km/h으로 달립니다.
// 람보르가 시속 30km/h으로 달립니다.
// 람보르가 시속 40km/h으로 달립니다.
// 람보르가 시속 50km/h으로 달립니다.
// 재규어가 시속 10km/h으로 달립니다.
// 재규어가 시속 20km/h으로 달립니다.
// 재규어가 시속 30km/h으로 달립니다.
// 재규어가 시속 40km/h으로 달립니다.
// 재규어가 시속 50km/h으로 달립니다.