-
[Java] Method OverLodingJava 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(); } }
실행결과 'Java' 카테고리의 다른 글
[Java] MethodOverriding (0) 2024.02.20 [Java] Class (0) 2024.02.19 [Java] priority Queue(우선 순위) (1) 2024.01.29 <Java > ASCII (0) 2023.11.01 <Java> 다차원 배열 순회 (0) 2023.11.01