I. 오버라이딩
# 개념
상속받은 기존의 메서드재정의
# 메서드 오버라이딩 작성규칙
1. 슈퍼클래스 메서드 시그니처가 완전히 동일해야한다.
2. 슈퍼클래스 메서드의 접근제한자보다 범위가 좁아지는 것 가능!
II. 오버로딩
# 개념
- 메서드 다중정의
- 기존의 메서드의 메서드명은 그대로둔 채 다른 형식으로 여러개 정의하는 것.
- 오버로딩은 상속과 관계가 없다.
III. 생성자와 super()
- 서브클래스의 생성자는 슈퍼클래스의 기본생정자를 자동으로 호출한다.
- 이때 슈퍼클래스의 생성자가 파라미터 생성자만 존재한다면,
서브클래스의 생성자가 슈퍼클래스의 기본생성자를 호출하면서 오류가 발생하게된다.
- 해결책
1. 슈퍼클래스에 기본 생성자를 정의한다.
2. 서브클래스에서 슈퍼클래스의 파라미터 생성자를 호출한다. => super() 사용
-> super() 키워드를 사용하면 슈퍼클래스의 멤버변수는 슈퍼클래스가, 서브클래스의 멤버변수는 서브클래스에서 초기화하게 되고, 초기화 코드의 중복을 제거함으로써 오류를 해결할 수 있다.
- this() 와 super() 는 동시에 사용할 수 없다.
'개발자 양성과정 필기노트 > JAVA' 카테고리의 다른 글
Object클래스 내장메서드 (0) | 2021.10.09 |
---|---|
Wrapper 클래스 (0) | 2021.10.09 |
Import / 접근제한자 / 상속 / 생성자 (0) | 2021.10.02 |
추상클래스와 인터페이스 (0) | 2021.09.28 |
싱글톤 디자인 패턴 / final / 상수 (0) | 2021.09.14 |
댓글