[java] 상속을 이용한 다른 클래스의 동작 제어
자바에서 상속은 다른 클래스의 기능을 확장하고 재사용할 수 있도록 해줍니다. 상속을 통해 부모 클래스의 특징과 동작을 자식 클래스에게 물려줌으로써 코드의 재사용성을 높일 수 있습니다. 또한, 자식 클래스에서는 부모 클래스의 동작을 필요에 맞게 재정의(Overriding)하여 제어할 수 있습니다.
부모 클래스와 자식 클래스 생성
public class ParentClass {
public void display() {
System.out.println("부모 클래스의 display 메서드");
}
}
public class ChildClass extends ParentClass {
@Override
public void display() {
System.out.println("자식 클래스의 display 메서드");
}
}
위의 예시 코드에서 ChildClass
는 ParentClass
를 상속받았습니다. 이제 ChildClass
의 인스턴스를 생성하고 메서드를 호출하면, display()
메서드는 ChildClass
에 재정의된 내용으로 실행됩니다.
부모 클래스 메서드 호출
때로는 자식 클래스에서 부모 클래스의 메서드를 호출해야 할 때가 있습니다. 이를 위해 super
키워드를 사용하여 부모 클래스의 메서드를 명시적으로 호출할 수 있습니다.
public class ChildClass extends ParentClass {
@Override
public void display() {
super.display(); // 부모 클래스의 display 메서드 호출
// 추가적인 동작
}
}
다형성을 통한 동작 제어
다형성(Polymorphism)을 이용하면 동일한 메서드 호출 코드가 실제로는 서로 다른 클래스의 메서드를 호출할 수 있습니다. 이는 런타임에 객체의 실제 타입에 따라 동작이 결정되기 때문입니다.
ParentClass obj1 = new ParentClass();
ParentClass obj2 = new ChildClass();
obj1.display(); // "부모 클래스의 display 메서드" 출력
obj2.display(); // "자식 클래스의 display 메서드" 출력
상속을 이용하면 다른 클래스의 동작을 효율적으로 제어할 수 있으며, 다형성을 통해 강력한 유연성을 얻을 수 있습니다.
참고 자료
- Oracle 자바 튜토리얼: 상속 (The Java™ Tutorials > Learning the Java Language)