우노
[Software Engineering] 오버로딩과 오버라이딩의 차이 본문
오버로딩(Overloading)이란?
- 같은 이름을 가지는 메서드가 있더라도,
- 매개변수의 타입 또는 개수를 달리하여,
- 여러개의 메서드를 정의할 수 있는 기술입니다.
간단한 오버로딩 예제 코드
매개변수 개수를 다르게 정의할 경우
public int overloadTest(){ return 1; } public int overloadTest(String test){ return 1; }
매개변수 타입을 다르게 정의할 경우
public int overloadTest(String test){ return 1; } public int overloadTest(int test){ return 1; }
리턴 타입을 다르게 정의할 경우
public String overloadTest(String test){ return "HI"; } public int overloadTest(String test){ return 1; }
오버라이딩(Overriding)이란?
- 부모 클래스가 가지고 있는 메서드를, 자식 클래스가 재정의해서 사용하는 기술입니다.
- 물론, 자식 클래스가 부모 클래스로부터 상속 받은 메서드를 그대로 사용할 수도 있지만,
- 부모 클래스로부터 상속 받은 메서드를 재정의하고 싶다면,
- 메서드의 이름, 매개변수 타입 및 개수, 리턴 타입을 동일하게함으로써, 메서드를 재정의해서 사용할 수 있습니다.
간단한 오버라이딩 예제 코드
public class Parent {
public void overridingTest(int test){
System.out.println("부모 메서드의 내용");
}
}
class Child extends Parent {
@Override
public void overridingTest(int test){
System.out.println("부모 메서드를 재정의한 내용");
}
}
오버로딩과 오버라이딩의 차이 요약
참고
'Etc > CS Term' 카테고리의 다른 글
Polling과 Pulling의 차이 (2) | 2024.04.08 |
---|---|
[주요 개념] Stateful 과 Stateless (2) | 2021.10.12 |
[Software Engineering] 런타임이란? (0) | 2021.09.30 |
[프로그래밍용어] Fine-Grained 와 Coarse-Grained (0) | 2021.07.27 |
[Software Engineering] 절차적 vs 객체지향 vs 함수형 (6) | 2021.03.31 |
Comments