본문 바로가기
개발 관련 지식/JAVA

인스턴스 멤버와 this

by 권태일1147 2020. 4. 8.

인스턴스 멤버란 객체를 생성한 후 사용할 수 있는 필드와 메소드.

즉, 객체 없이는 사용할 수 없는 필드와 메소드가 인스턴스 멤버

 

클래스 내부(객체 내부)에서 인스턴스 멤버에 접근하기 위해서 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으로 달립니다.

'개발 관련 지식 > JAVA' 카테고리의 다른 글

익명 객체  (0) 2020.04.08
정적 멤버와 static  (0) 2020.04.08
람다식 메소드 참조  (0) 2020.04.07
람다식에서 클래스 멤버와 로컬 변수 사용  (0) 2020.04.07
람다식  (0) 2020.04.07