본문 바로가기
개발자 양성과정 필기노트/JAVA

오버라이딩 / 오버로딩 / 생성자와 super

by jono 2021. 10. 2.

     I. 오버라이딩     


# 개념

상속받은 기존의 메서드재정의

 

# 메서드 오버라이딩 작성규칙

1. 슈퍼클래스 메서드 시그니처가 완전히 동일해야한다.

2. 슈퍼클래스 메서드의 접근제한자보다 범위가 좁아지는 것 가능!

 


     II. 오버로딩     


# 개념

- 메서드 다중정의

- 기존의 메서드의 메서드명은 그대로둔 채 다른 형식으로 여러개 정의하는 것.

- 오버로딩은 상속과 관계가 없다.

 


     III. 생성자와 super()     


- 서브클래스의 생성자는 슈퍼클래스의 기본생정자를 자동으로 호출한다. 
- 이때 슈퍼클래스의 생성자가 파라미터 생성자만 존재한다면,
  서브클래스의 생성자가 슈퍼클래스의 기본생성자를 호출하면서 오류가 발생하게된다.

- 해결책

   1. 슈퍼클래스에 기본 생성자를 정의한다.

   2. 서브클래스에서 슈퍼클래스의 파라미터 생성자를 호출한다. => super() 사용

-> super() 키워드를 사용하면 슈퍼클래스의 멤버변수는 슈퍼클래스가, 서브클래스의 멤버변수는 서브클래스에서 초기화하게 되고, 초기화 코드의 중복을 제거함으로써 오류를 해결할 수 있다.

 

- this() 와 super() 는 동시에 사용할 수 없다.

댓글