메서드 재정의(Overriding) 란?
메서드 재정의(Overriding)
- 메서드 재정의란 부모클래스로부터 상속받은 메서드를 자식클래스에서 행위를
바꾸거나 보완하기 위해 다시 정의해서 사용하는 것을 말합니다.
- 이는 부모클래스에서 특별한 용도로 사용하던 메서드를 자식클래스에서 다른
용도로 사용할 때 필요합니다.
- 부모클래스의 모든 메서드가 자식클래스에 맞게 설계되어 있다면 가장 이상적
인상속이지만, 특정 메서드는 자식 클래스가 사용하기에 적합하지 않을 수도 있
습니다.
- 이 경우 상속된 일부 메서드는 자식클래스에서 재정의하여 사용해야 합니다.
- 메서드가 자식클래스에서 재정의되었다면 자식객체를 통해 메서드를 호출했을
때 새롭게 재정의된 메서드가 호출됩니다.
메서드 재정의 예제 (규칙)
- 메서드 재정의 규칙
1. 반드시 상속을 전제로 해야합니다.
2. 반드시 반환 유형이 같아야 합니다.
3. 메서드 이름이 같아야 합니다.
4. 매개 변수 선언이 정확히 일치해야 합니다.
5. 접근제한자는 같거나 더 제한이 없어야 합니다.(more public)
재정의된 메서드는 항상 우선적으로 실행된다.
메서드 중복(Overloading)
중복(Overloading)
- 자바는 메서드나 생성자의 중복 선언을 허용합니다.
- 중복은 메서드 또는 생성자를 선언할 때 이름은 같지만 매개 변수의 유형이나 개수
를 다르게 선언해 놓는 것을 의미합니다.
- 중복을 사용하면 하나의 메서드로 매개 변수의 유형에 따라 다른 동작이 실행되게
합니다.
메서드 중복(Overloading) 예제
- 중복의 조건
1. 이름이 같아야 합니다.
2. 접근제한자나 반환유형은 영향을 미치지 않습니다.
3. 매개 변수의 유형이 달라야 합니다.
4. 매개 변수의 개수가 달라야 합니다.
5. 매개 변수의 순서가 달라야 합니다.
같은 이름의 메서드가 여러 개 일 수 있다!
'자바' 카테고리의 다른 글
접근 제한자 (0) | 2024.05.01 |
---|---|
this와 super (0) | 2024.05.01 |
객체지향 프로그래밍 기술(상속, 은닉, 다형성) (0) | 2024.04.30 |
Garbage Collecting 과 패키지 (0) | 2024.04.30 |
객체와 클래스 (0) | 2024.04.30 |