[Java] 상속

Walter Mitty·2022년 10월 27일
0

KOSTA

목록 보기
21/33

상속

  • 부모 클래스의 멤버를 물려받음
  • 여러 단계를 상속하는 것도 가능하다
  • 하나의 클래스가 여러 클래스에 상속해주는 것도 가능하다.= 즉 자식 여러명(자식 클래스 여러개)가 가능하다.
  • Java에서는 다중 상속 불가능하다(파이썬, C에서는 다중상속가능)
    • 부모 여러명은 불가능!

장점

  • 코드 재사용성이 높아짐
  • 다형성 구현

공통적인 부분으로 부모클래스 저으이

class Parent{
	private //private 멤버는 상속이 안된다. 만약 부모 클래스에서 private로 하면 자식한테 상속 안됨!
    //따라서 protected로 하자.
    protected
}

package는 class의 묶음이다.

상속을 해준 모든 객체.

  • 메서드 오버라이드
    • 상속 받은 메서드를 자식 클래스에서 적합하게 수정하는 것.
    • 틀은 변경하지 말고 내용만 수정한다. (여기서 틀이란 메서드 프로토 타입(메서드타입, 메서드이름, 파라미터)을 말한다)

  • super(부모) : 부모 객체의 참조값을 갖는 참조변수
    • 부모 생성자가 파라미터가 있을 경우 자식 클래스에서 부모 생성자를 호출하여 아규먼트를 전달한다.

up-casting: 객체 타입을 위로 올림

  • 자식 클래스의 객체를 부모 타입의 참조변수에 담는다.
  • 행세는 부모 행세 but 재정의된 메서드는 자식걸 실행한다.
  • 부모 클래스에 정의된 멤버만 사용이 가능하다.
  • 다운캐스팅은 업캐스팅이 진행 되어야만 가능하다. 올려놓은걸 내리는거니까

down-casting:

  • 업캐스팅 된 객체를 원래 타입으로 내림
  • 캐스팅 연산자 사용해야함
  • 사용 이유:
    • 자식 클래스에 추가된 멤버를 사용해야할 때 필요하다.

상위클래스: 부모클래스 / 하위클래스: 자식클래스

1개의 댓글

comment-user-thumbnail
2022년 10월 27일

저도 my un~ 님이 올려주신 거 훔쳐 먹으면서 공부할게욥!! 응원합니다~~

답글 달기