Super vs Super()

0

JAVA

목록 보기
14/18
post-thumbnail

super와 super() 차이에 대해서 간략히 정리해보고자 합니다.

super

  • super의 경우 자식 클래스가 부모 클래스로부터 상속받은 멤버를 참조할 때 사용하는 참조 변수
  • 부모 클래스와 자식 클래스의 멤버의 이름이 같을 경우 super 사용
  • 부모 클래스의 메소드에 접근할 때도 사용 가능
  • 멤버 변수나 메소드를 호출하기 위해서는 해당 변수, 메소드의 접근 제어자는 protected 혹은 public 이어야함

  • 부모 클래스
  • 자식 클래스
  • 자식 클래스의 인스턴스 호출
  • 결과값

super()

  • super()의 경우 부모 클래스의 생성자를 호출하는 메소드
  • 상속 관계에 있는 자식 클래스가 부모 클래스의 멤버를 사용할 경우 부모 클래스를 우선적으로 초기화 필요
  • 부모 클래스에 대한 생성자 호출은 상속관계에 따라 Object클래스까지 올라가서 종료
  • 즉, Object 클래스를 제외한 모든 클래스의 생성자의 첫줄에는 자신의 클래스의 또다른 생성자, this(), 또는 부모 클래스의 생성자, super()를 호출해줘야 함

  • 부모 클래스
  • 자식 클래스
  • 자식 클래스의 인스턴스 호출
  • 결과값
profile
컴퓨터공학과 + 실무 = 4 + N = 모르는거 ∞ ...

0개의 댓글