본문 바로가기
IT/자바

자바 정리 - 상속

by 김보리 2021. 11. 30.
728x90
반응형

상속

추상화의 3요소 : 상속, 다형성, 캡슐화

 

상속

상속 : 이미 잘 개발된 클래스를 재사용해서 새로운 클래스를 만들기 때문에 중복되는 코드를 줄여줌

 

클래스 상속 : 자식 클래스를 선언 할 때 어떤 부모 클래스를 상속받을 것인지 선택
ex) class 자식클래스 extends 부모클래스 {
// 필드
// 생성자
// 메소드   }

 

상속의 특징

  1. 여러 개의 부모 클래스 상속 불가능
  2. extends 뒤에는 단 하나의 부모클래스만 가능
  3. private 접근 제한을 갖는 필드와 메소드는 상속 대상에서 제외
  4. 부모 클래스와 자식 클래스가 다른 패키지에 조내한다면 default 접근 제한을 가는 필드와 메소드도 상속 대상에서 제외

 

super( ) : 부모의 기본 생성자를 호출

  • 자식 클래스에서 부모 클래스의 메소드를 재정의하게 되면, 부모 클래스의 메소드는 숨겨지고 재정의 된 자식 메소드만 사용
    자식 클래스 내부에서 재정의된 부모 클래스의 메소드를 호출해야 할 때 super 키워드 사용

 

메소드 재정의(Overriding) : 부모 메소드를 자식 클래스에서 다시 정의

  • 메소드 재정의 방법
  • 재정의 메소드 자동 생성 방법
  1. 자식 클래스에서 재정의 메소드를 작성할 위치로 입력 커서를 옮김
  2. Source - Override/Implement Methods 메뉴를 선택
  3. 부모 클래스에서 재정의될 메소드를 선택 후 OK 클릭

 

final 클래스 : final 키워드로 선언된 클래스는 부모 클래스로 사용할 수 없는 final 클래스 (상속불가)

 

final 메소드 : final 키워드로 선언된 메소드는 자식 클래스에서 재정의할 수 없는 final 메소드

 

protected : 같은 패키지에서 default와 같이 접근 제한 없으나, 다른 패키지는 자식클래스만 접근 허용

 

728x90
반응형

댓글