[java] 상속을 이용한 다른 클래스의 기능 변형
상속은 객체 지향 프로그래밍에서 중요한 개념 중 하나입니다. 기존 클래스의 특성을 그대로 유지하면서 새로운 클래스가 부모 클래스의 속성과 기능을 이어 받을 수 있도록 해줍니다.
1. 상속의 개념
자바에서 상속은 extends
키워드를 사용하여 구현됩니다. 예를 들면:
public class ParentClass {
// 부모 클래스의 속성과 메서드 정의
}
public class ChildClass extends ParentClass {
// 자식 클래스의 속성과 메서드 정의
}
2. 다른 클래스의 기능 변형
자식 클래스는 부모 클래스의 기능을 재정의하거나 확장할 수 있습니다. 이것을 오버라이딩(overriding)과 오버로딩(overloading)이라고 합니다.
2.1 메서드 재정의(Overriding)
자식 클래스에서 부모 클래스의 메서드를 재정의하여 자식 클래스의 특성에 맞추어 사용할 수 있습니다.
public class ParentClass {
public void display() {
System.out.println("부모 클래스의 display 메서드");
}
}
public class ChildClass extends ParentClass {
@Override
public void display() {
System.out.println("자식 클래스의 display 메서드");
}
}
2.2 메서드 확장(Overloading)
자식 클래스에서 새로운 메서드를 추가하여 확장할 수도 있습니다.
public class ParentClass {
public void display() {
System.out.println("부모 클래스의 display 메서드");
}
}
public class ChildClass extends ParentClass {
public void display(int count) {
for (int i = 0; i < count; i++) {
System.out.println("자식 클래스의 display 메서드");
}
}
}
3. 상속의 활용
상속은 코드의 재사용성을 높여주며, 유지보수가 용이하도록 도와줍니다. 또한 클래스 간의 계층 구조를 구성하여 코드를 보다 체계적으로 관리할 수 있습니다.
상속을 통해 부모 클래스의 기능을 변형하고 확장하여 다양한 기능을 제공할 수 있습니다.
4. 결론
상속을 통해 기존 클래스의 기능을 변형하고 확장하는 방법을 알아보았습니다. 이를 통해 유연하고 효율적인 코드 구현이 가능하며, 객체 지향 프로그래밍의 핵심인 다형성(polymorphism)을 실현할 수 있습니다.
더 많은 정보는 Oracle Java Documentation를 참고하시기 바랍니다.