상속-추상

P·2021년 10월 29일
0

상속

기존 클래스를 이용하여 새로운 클래스를 작성(부모와 자식 관계)

  • 자손은 조상의 모든 멤버를 상속받음(생성자, 초기화 블럭 제외)
  • 자손의 멤버 개수는 조상보다 적을 수 없음(자손>=조상)
  • 자손의 변경은 조상에 영향 X

포함

클래스의 멤버로 참조변수를 선언하는 것

  • 상속: ~은 ~이다.
  • 포함: ~은 ~을 가지고 있다.

오버라이딩

상속받은 조상의 메소드를 자신에 맞게 변경하는 것

  • 선언부 변경 X, 구현 부분만 맞게 변경

추상 클래스

abstract class, 미완성 메소드를 가지고 있는 클래스
abstract method, 추상 메소드, {}(몸통)이 없는 미완성 메소드
인스턴스 생성 불가 (Player p = new Player(); -> 불가)
자손마다 다른 코드를 구현하기 위해 추상 메소드 사용
-> 상속을 통해 구현


인터페이스

  • 추상 메소드의 집합, 구현된 것이 없는 설계도(모든 멤버가 public)
  • 멤버의 public, static, final, abstract 모두 인터페이스 안에서는 생략가능
  • 인터페이스의 조상은 인터페이스만 가능
  • 다중상속 가능
  • 인터페이스를 메소드의 리턴타입으로 지정 가능(반환타입이 인터페이스 Fightable이면 리턴값은 fightable을 구현한 객체를 반환해야함)
profile
개인 정리 공간

0개의 댓글