gambae programing

상속 본문

Java/Grammer

상속

gambae 2022. 7. 18. 18:59

클래스 상속

  • 프로그램에서는 자식이 부모를 선택
  • 자식 클래스를 선언할 때 어떤 부모 클래스를 상속받을 것인지 결정하고 , 선택된 부모 클래스는 extends 뒤에 기술
  • 여러 개의 부모 클래스를 상속할 수 없음
  • 부모 클래스에서 private 접근 제한을 갖는 필드와 메소드는 상속 대상에서 제외됨  // 다른 package라면 public 제한자만
class 자식클래스 extends 부모클래스 { }

부모 생성자 호출

자식 객체를 생성하면, 내부적으로 부모 객체가 먼저 생성

public 자식클래스() {
    super();  // 부모의 기본 생성자 호출 , 매개 변수가 들어갈 수 있음
}

메소드 오버로딩

  • 부모클래스에서 상속된 일부 메소드가 자식 클래스에서 다시 수정해서 사용할 때 사용
  • 자식 메소드는 부모 메소드보다 접근 제한을 더 강하게 재정의할 수 없음
super.부모메소드();  // 부모 메소드 호출

final

클래스,필드,메소드를 선언할 때 사용할 수 있고 해당 선언이 최종 상태이고 결코 수정될 수 없음을 뜻함

final 클래스

최종적인 클래스이므로 상속할 수 없음 , 부모 클래스가 될 수없어 자식 클래스를 만들 수 없음

public final class 클래스 { }

final 메소드

최종적인 메소드이므로 재정의할 수 없음 , 자식 클래스에서 재정의 불가

public final 리턴타입 메소드(매개변수) { }

 

'Java > Grammer' 카테고리의 다른 글

추상 클래스  (0) 2022.07.18
[상속] 타입 변환과 다형성  (0) 2022.07.18
[MVC 패턴] 사원 관리 프로그램 (2/2)  (0) 2022.07.15
[MVC 패턴] 사원 관리 프로그램 (1/2)  (0) 2022.07.15
사원 관리 프로그램 (2/2)  (0) 2022.07.15
Comments