031_상속과 생성자

Dec 26, 2023
031_상속과 생성자

상속

  • extends - 문법
  • 자기 자신은 this인데 부모는 super로 호출 할 수 있다.
  • new를 사용시 자기 자신 부터 실행되는게 아닌 부모 다음에 자식을 실행한다.
  • 매개변수가 있는 생성자는 못찾아서 오류를 발생하는데 직접 자식 생성자에서 super(매개변수)를 넣으면 해결된다.
  • 기존에 존재하는 클래스로부터 변수와 메서드를 이어받고, 필요한 기능을 추가할 수 있는 기법이다.
  • 다중 상속을 지원하지 않는다.
👉
상속을 사용하는 이유 1. 이미 존재하는 클래스의 변수와 메서드를 재사용할 수 있다. 2. 중복 코드를 줄일 수 있다.

상속과 생성자

  • 상속된 클래스의 생성자 호출 순서는 (부모 클래스의 생성자) → (자식 클래스의 생성자) 순으로 된다.
  • 명시적으로 부모 클래스의 생성자를 호출하려면 ‘super’를 사용한다.
  • 기본 생성자가 정의되어 있지 않으면 호출 시 오류가 발생한다. → 이는 super를 사용하여 해결 가능하다. ex) super(100);
객체 지향이란?! (상기시키기!)
→ 상태는 행위를 통해서 바꾼다
→ 오브젝트를 추상화 시켜서 만든다(상속해서 만든다)

종단 클래스(final class)

  • 상속을 시킬 수 없는 클래스이다.
  • 보안상의 이유로 사용한다.

추상화 (abstract)

  • 하나 이상의 추상 메서드(선언만 있고 구현이 없는 메서드)를 포함한 클래스이다.
  • 추상 클래스는 오브젝트가 아니다. → new가 불가능하다.
  • 추상 클래스는 직접 객체를 생성할 수 없다. 이 클래스를 상속받는 자식 클래스에서 추상 메서드를 구현해야한다. → 독립적으로 만들 수 없다.\
  • abstract로 사용한다.
 
Share article
RSSPowered by inblog