반응형
이번 글에서는 객체 내부 메서드에서 this 키워드를 이용해 필드를 가리키고,
메서드 간 호출을 통해 객체 동작을 연결하는 방법을 학습합니다.
또한 생성자를 통해 필드를 초기화하고, 이를 동작에 반영하는 구조를 실습합니다.
📦 클래스 코드 (Car.java)
package ch06.sec09;
public class Car {
String model;
int speed;
Car(String model) {
this.model = model;
}
void setSpeed(int speed) {
this.speed = speed;
}
void run() {
this.setSpeed(100);
System.out.println(this.model + "가 달립니다. (시속 : " + speed + "km/h)");
}
}
📌 실행 코드 (CarExample.java)
package ch06.sec09;
public class CarExample {
public static void main(String[] args) {
Car car = new Car("포르쉐");
Car car2 = new Car("벤츠");
car.run();
car2.run();
}
}
💬 코드 설명
- Car(String model)
→ 생성자를 통해 자동차 모델명을 필드에 저장 - setSpeed(int speed)
→ 자동차의 현재 속도를 설정하는 메서드 - run()
→ setSpeed(100)을 호출해 시속 100km/h로 설정한 뒤, 모델명과 속도를 출력
→ this를 명시적으로 사용하여 현재 객체의 메서드나 필드에 접근 - car.run(), car2.run()
→ 각각 다른 객체가 독립적으로 동작
💻 실행 결과
포르쉐가 달립니다. (시속 : 100km/h)
벤츠가 달립니다. (시속 : 100km/h)
📌 간단 정리
메서드 | 역할 |
Car(String model) | 모델명 초기화 |
setSpeed(int) | 속도 설정 |
run() | 속도 설정 후 주행 메시지 출력 |
💡 포인트 정리
- this는 현재 객체 자신의 필드나 메서드를 가리킨다
- this.필드명, this.메서드() 형태로 명시적으로 호출 가능
- 생성자를 통해 필드를 초기화하고, 초기화된 값을 객체 동작에 반영
- 여러 객체(car, car2)가 서로 독립적으로 동작함 → 객체지향의 기본
'프로그래밍 > JAVA' 카테고리의 다른 글
50. final 필드 - 수정 불가능한 데이터 만들기 (0) | 2025.04.29 |
---|---|
49. static 메서드에서 인스턴스 멤버 사용하기 (2) | 2025.04.28 |
48. static 필드와 static 메서드 (0) | 2025.04.28 |
46. 메서드 오버로딩(Method Overloading) (0) | 2025.04.28 |
45. 객체의 상태를 제어하는 메서드 활용 (0) | 2025.04.28 |
44. 가변 인자(Varargs)를 이용한 메서드 작성 (0) | 2025.04.28 |