카테고리 없음

[Java] 자바의 객제치향 4가지 특징 2. 상속

believekim 2025. 2. 28. 21:44

 

자바 객체지향의 4가지 특징

1. 캡슐화(Encapsulation) - 데이터 보호, 접근 제한
2. 상속(Inheritance) - 기능 재사용, 확장
3. 추상화(Abstraction) - 핵심만 정의
4. 다형성(Polymorphism) - 하나의 인터페이스, 다양한 구현

 

 

1. 상속(Inheritance)이란?

  • 클래스의 관계를 부모와 자식의 관계로 바라보는 개념.
  • 필드와 메소드를 물려받아 재사용성과 확장이 가능.
  • 상속을 통해 중복을 줄이고 유지보수성을 높일 수 있다.

출처: 한빛+

 

 

2. 부모클래스 super(), 자식클래스 this()

  • 자식에서 부모를 접근할 때 super() 사용
  • 자식은 extends(확장)키워드와 부모클래스의 이름으로 상속받아 사용
class Child extends Parent {
    Child() {
        super(); // 부모 생성자 호출
        System.out.println("자식 생성자 호출");
    }
}

 

 

 

3. 매서드 오버라이딩(Overrideing)

  • 부모클래스에서 물려받은 메소드를 자식클래스에서 수정하여 재사용하는 것. 덮어쓰기.
  • 메서드 이름, 반환 타입, 매개변수 모두 동일
  • 접근 제어자는 부모 클래스보다 더 넓거나 같은 범위(private는 오버라이딩의 대상이 아님)
  • 부모 클래스의 메서드가 final이면 오버라이딩 불가능
class Parent {
    void show() {
        System.out.println("부모 클래스 메서드");
    }
}

class Child extends Parent {
    @Override // 오버라이딩 어노테이션 (생략 가능)
    void show() {
        System.out.println("자식 클래스 메서드");
    }
}