java

java 활용 예시(Overloading)

goshek 2024. 9. 6. 11:19

package chapter05;

 

public class overloading01 {

/*

메소드 오버로딩

: overloading

한 클래스 내에 같은 이름의 메소드를 여러 개 정의하는 것

 

1. 오버로딩의 성립 조건

- 메소드 이름이 같아야 함

- 매개변수의 개수 또는 타입이 달라야 함.

- 반환 타입은 관계 없음

 

2. 오버로딩의 장점

- 사용자가 매개변수의 순서를 외우지 않아도 사용 가능(편의성)

 

3. 오버로딩의 단점

- 중복적으로 의미 없이 생성하는 경우, 실질적으로 필요한 구현 메소드 찾기에 어려움(복잡성)

*/

class Cal{

static int add(int aa, int bb) {return aa+bb;}

//long add(int aa, int bb){return aa+bb;} -error

 

static double add(double aa, double bb) {return aa+aa+bb;}

static double add(int aa, double bb) {return aa+bb+bb;}

static double add(double aa, int bb) {return aa+bb+aa+bb;}

 

static int add(int aa, int bb, int cc) {return aa+cc;}

/*

cf) 오버로딩 사용 이유

1. 메소드가 수행하는 기본적인 작업이 동일할 때, 같은 이름 사용 가능

- 코드가 더 명확하고 가독성 있게 작성 가능

2. 코드의 재사용성이 높아짐

3. 컴파일 시 타입 체크를 강화- 올바른 매개변수 타입을 가진 메소드를 선택

*/

}

public static void main(String[] args) {

System.out.println(Cal.add(3, 5, 8));

System.out.println(Cal.add(3, 5.1));

System.out.println(Cal.add(3.7, 5.8));

}

 

}

'java' 카테고리의 다른 글

java 활용 예시(다형성)  (0) 2024.09.09
java 활용 예시(Overriding)  (0) 2024.09.06
java 활용 예시(constructor)  (0) 2024.09.06
java 기초 활용 예시(while)  (0) 2024.09.05
java 설치 방법  (0) 2024.09.04