오버로딩(Overloading)
두 메서드가 같은 이름을 가지나 인자의 수나 자료형이 다른 경우를 말한다.
public int plus(MyNumber a) { ... }
public int plus(MyNumber a, MyNumber b) { ... }
public int plus(YourNumber a) { ... }
대표적인 오버로딩 메서드
장점
1. 같은 기능을 하는 메소드를 하나의 이름으로 사용할 수 있다.
"System.out.println()"
인자값으로 int, double, boolean, String 등 다양한 타입의 매개변수를 넣어도 콘솔창에 문제없이 출력해준다.
2. 메소드의 이름을 절약할 수 있다.
println()을 각 타입별로 이름을 다르게 정해주지 않고 하나의 이름으로 한번에 해결이 되어서 사용하는 유저도 편하게 사용이 가능하다.
오버라이딩(Overriding)
부모 클래스로부터 상속받은 메소드를 자식 클래스에서 재정의하는 것을 말한다.
public class Test {
public static void main(String[] args) {
Vehicle vehicle = new Vehicle();
Bus bus = new Bus();
Taxi taxi = new Taxi();
Subway subway = new Subway();
vehicle.pay(); // 금액은?
bus.pay(); // 1200원
taxi.pay(); // 5000원
subway.pay(); // 1100원
}
}
class Vehicle {
void pay() {
System.out.println("금액은?");
}
}
class Bus {
void pay() {
System.out.println("1200원");
}
}
class Taxi {
void pay() {
System.out.println("5000원");
}
}
class Subway {
void pay() {
System.out.println("1100원");
}
}
재정의를 하는 것이기 때문에 리턴형, 메소드명, 매개변수가 모두 동일해야 한다.
또한 상속관계에서만 적용이 가능하다.
참고
https://hyoje420.tistory.com/14
항해 개발자 취업 리부트 코스를 수강하고 작성한 콘텐츠 입니다.
IT 커리어 성장 코스 항해99, 첫 취업부터 현직자 코스까지
항해99는 실무에 집중합니다. 최단기간에 개발자/PM으로 취업하고, 현직자 코스로 폭발 성장을 이어가세요. 실전 프로젝트, 포트폴리오 멘토링, 모의 면접까지.
hanghae99.spartacodingclub.kr
'멋진 개발자 > Java & Spring' 카테고리의 다른 글
[항해 취업코스] 개발자 취준 기록 6 - Java의 컴파일 과정(JVM) (0) | 2024.03.05 |
---|---|
[항해 취업코스] 개발자 취준 기록 5 - JVM의 구성과 특징 (0) | 2024.03.05 |
[항해 취업코스] 개발자 취준 기록 4 - JPA 더티체킹 (0) | 2024.03.05 |
[항해 취업코스] 개발자 취준 기록 3 - JPA는 무조건 좋은가 (0) | 2024.03.04 |
[항해 취업코스] 개발자 취준 기록 1 - Call by Reference (0) | 2024.03.04 |