상속(inheritance)

시바코코개발자·2023년 7월 28일
0

상속의목적
1. 기존에 선언된 클래스이 필드를 새롭게 만들 클래스의 필드로 사용하고자 할때 (이미 만들어서 사용하고 있던 부분을 상속받아서 사용하게끔하려고)
2. 여러 클래스 선언 시 필드가 겹치는 경우, 부모클래스를 먼저 선언하고 공통필드를 묶어서 자식클래스에게 상속해준다.(만들다 보니깐 공통된 필드 값들이 있어서 묶어주기 위해서)

부모,상위,슈퍼,기반

자식,하위,서브,파생

super(): 부모 생성자

자식 클래스 타입의 객체로 부모필드에 접근할 수 있다.
하지만 자식 생성자만 호출하기 때문에, 자식 필드만 메모리에 할당된다고 생각할 수 있다.
사실 자식 생성자는 항상 부모 생성자를 호출하기 때문에 자식 생성자 호출 시 부모와 자식 필드 모두 메모리에 할당된다.
이 때 부모 생성자를 호출하는 방법은 super()를 사용하는 것이다.
super()를 작성하지 않더라도 컴파일러가 자동으로 작성해준다.

super:부모 필드 주소
재정의할 때 부모 필드를 그대로 사용하고 싶다면 super로 접근한다.

다형성(polymorphism)

1.오버 로딩(매개변수의 개수나 타입이 다를 경우)

  • 매개변수의 개수 또는 타입이 다르면 메소드 이름을 똑같이 선언할 수 있다.
  1. 오버라이딩

0개의 댓글