Java
[Java] Method OverLoding
98kg
2024. 2. 20. 14:35
OverLoading 이란?
자바의 한 클래스 내에 이미 사용하려는 이름과 같은 이름을 가진 메소드가 있더라도 매개변수의 개수 또는 타입이 다르면, 같은 이름을 사용해서 메소드를 정의할 수 있다.
조건
메소드의 이름이 같고, 매개변수의 개수나 타입이 달라야 한다. 주의할 점은 '리턴 값만' 다른 것은 오버로딩을 할 수 없다는 것이다.
블랙 박스 클래스에 record 기능을 오버로딩 해보겠습니다.
package Chapter_07;
public class BlackBox {
void record(boolean showDateTime, boolean showSpeed, int min) {
System.out.println("녹화를 시작합니다.");
if(showDateTime){
System.out.println("영상에 날짜정보가 표시됩니다.");
}
if(showSpeed) {
System.out.println("영상에 속도정보가 표시됩니다.");
}
System.out.println("영상은 " + min + "분 단위로 기록됩니다.");
}
void record(){
record(true,true,5); // 기본 정보
}
}
파라미터를 가진 record 를 생성 후 오버라이딩하여 파라미터가 없는 record 를 생성하였습니다
파라미터가 없는 record 를 호출 시 메서드 안에 수행문이 실행 됩니다.
아래는 실행 코드와 실행 결과 입니다.
package Chapter_07;
public class _05_MethodOverLoading {
public static void main(String[] args) {
BlackBox b1 =new BlackBox();
b1.modelName = "까망이";
b1.record(false,false,10);
System.out.println("-----------");
b1.record(true,false,3);
System.out.println("-----------");
b1.record(true,true,5);
System.out.println("-----------");
b1.record();
}
}