Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- 특약
- jQuery
- javascript
- 가입
- 심장질환
- PythonProgramming
- 인출수수료
- 보험
- 코딩
- Vue.js
- 중도인출
- 급성심근경색증
- 추가납입
- Java
- 뇌출혈
- 교보
- 웹개발
- 리스트
- 납입
- 프로그래밍
- 보험료
- 사망
- 변환
- 수수료
- 문자열
- 파이썬
- 자바스크립트
- 교보생명
- 프론트엔드
- python
Archives
- Today
- Total
SeouliteLab
[Java/자바] 오버로딩과 오버라이딩의 차이점 본문
Java에서 오버로딩(Overloading)과 오버라이딩(Overriding)은 다형성(polymorphism)을 구현하는 중요한 개념입니다. 두 가지 개념은 서로 다른 기능을 갖고 있으며, 각각의 특징을 살펴보겠습니다.
1. 오버로딩(Overloading)
오버로딩은 같은 이름의 메소드를 여러 개 정의하는 것을 말합니다. 이때 메소드의 시그니처가 서로 다르게 구성되어야 합니다. 즉, 매개변수의 개수나 타입이 달라야 합니다.
예제 1: 오버로딩
public class Calculator {
public int add(int a, int b) {
return a + b;
}
public double add(double a, double b) {
return a + b;
}
}
위 예제에서는 add 메소드를 정수형 매개변수로 오버로딩한 버전과 실수형 매개변수로 오버로딩한 버전을 보여줍니다.
2. 오버라이딩(Overriding)
오버라이딩은 상위 클래스에서 이미 정의된 메소드를 하위 클래스에서 재정의하는 것을 말합니다. 이때 메소드의 시그니처는 동일해야 합니다.
예제 2: 오버라이딩
public class Animal {
public void makeSound() {
System.out.println("Animal is making a sound");
}
}
public class Dog extends Animal {
@Override
public void makeSound() {
System.out.println("Dog is barking");
}
}
위 예제에서는 Animal 클래스의 makeSound 메소드를 Dog 클래스에서 오버라이딩하여 재정의한 것을 보여줍니다.
3. 차이점 요약
- 오버로딩은 같은 이름의 메소드를 여러 개 정의하는 것이며, 매개변수의 개수나 타입이 달라야 합니다.
- 오버라이딩은 상위 클래스의 메소드를 하위 클래스에서 재정의하는 것이며, 메소드의 시그니처는 동일해야 합니다.
'프로그래밍' 카테고리의 다른 글
[Java/자바] Wrapper 클래스 (0) | 2024.03.19 |
---|---|
[Java/자바] Java Boxing과 Unboxing (0) | 2024.03.19 |
[Java/자바] 메소드 시그니처(Method Signature)란? (0) | 2024.03.19 |
[Python/파이썬] FastAPI: 빠르고 간편한 웹 API 개발 프레임워크 (0) | 2024.03.19 |
[Java/자바] Comparator 인터페이스 - 객체 비교자 만들기 (0) | 2024.03.19 |