* 메서드 재정의(Overriding)
- 메서드 재정의란 부모클래스로부터 상속받은 메서드를 자식클래스에서 행위를 바꾸거나 보완하기 위해 다시 정의해서 사용하는 것을 말합니다.
- 이는 부모클래스에서 특별한 용도로 사용하던 메서드를 자식클래스에서 다른 용도로 사용할 때 필요합니다.
- 부모클래스의 모든 메서드가 자식클래스에 맞게 설계되어 있다면 가장 이상적이지만, 특정 메서드는 자식 클래스가 사용하기에 적합하지 않을 수도 있습니다.
- 이 경우 상속된 일부 메서드는 자식클래스에서 재정의하여 사용해야 합니다.
- 메서드가 자식클래스에서 재정의되었다면 자식객체를 통해 메서드를 호출했을 때 새롭게 재정의된 메서드가 호출됩니다.
* 메서드 재정의 규칙
- 반드시 상속을 전제로 해야합니다.
- 반드시 반환 유형이 같아야 합니다.
- 메서드 이름이 같아야 합니다.
- 매개 변수 선언이 정확히 일치해야 합니다.
- 접근제한자는 같거나 더 제한이 없어야 합니다.(more public)
- 재정의된 메서드는 항상 우선적으로 실행됩니다.
* 중복(Overloading)
- 자바는 메서드나 생성자의 중복 선언을 허용합니다.
- 중복은 메서드 또는 생성자를 선언할 때 이름은 같지만 매개 변수의 유형이나 개수 를 다르게 선언해 놓는 것을 의미합니다.
- 중복을 사용하면 하나의 메서드로 매개 변수의 유형에 따라 다른 동작이 실행되게 합니다.
- 동일한 메서드를 여러개 만듭니다.
* 중복의 조건
- 이름이 같아야 합니다.
- 접근제한자나 반환유형은 영향을 미치지 않습니다.
- 매개 변수의 유형이 달라야 합니다.
- 매개 변수의 개수가 달라야 합니다.
- 매개 변수의 순서가 달라야 합니다.
- 같은 이름의 메서드가 여러 개 일 수 있습니다.
* this
- this는 자기 자신 객체를 지정할 때 사용하는 키워드입니다.
- this. 을 사용하면 동일 클래스 내의 멤버(멤버변수, 메서드)를 참조할 수 있습니다.
- this()를 사용하면 생성자 내부에서 자신의 다른 생성자를 호출할 수 있습니다.
- 같은 이름의 매개변수가 멤버변수의 사용을 가리므로 이 때 나 자신의 멤버로 지칭하는 키워드가 this입니다.
- this. 로 나의 멤버변수의 접근 가능하고, this()로 나의 생성자의 접근이 가능합니다.
<오늘 푼 문제들>
'TIL > Java' 카테고리의 다른 글
day15-java (0) | 2022.10.12 |
---|---|
day14-java (2) | 2022.10.11 |
day12-java (0) | 2022.10.06 |
day11-java (2) | 2022.10.05 |
day10-java (2) | 2022.10.04 |