• 회원가입
  • 로그인
  • 구글아이디로 로그인

[method] Java - Method Overloading (메서드 오버로딩) ★

764  
목차
  1. Method Overloading 정의
  2. Method Overloading 예제

 

Method Overloading 정의


오버로딩 (= 동일 메서드명으로 여러 메서드 정의) 가능 경우.

① 매개변수 개수가 다른 경우.

② 매개변수 타입이 다른 경우.

 

PS. 

단지, 매개변수명만 다른 경우엔 메서드 오버로딩 불가.  

 

cf. C++ Overloading과 유사.


[예제]

 

int myMethod(int x)

 

// 개수 같아도 자료형 다른 경우, 오버로딩 가능 O.

float myMethod(float x)

 

// 자료형 같지만 개수 다른 경우, 오버로딩 가능 O.

int myMethod(int x, int y)

 

// 자료형과 개수 모두 다른 경우, 오버로딩 가능 O.

double myMethod(double x, double y)


// 단지, 변수명만 다른 경우, 오버로딩 가능 X

int myMethod(int y) // 에러 유발.

 

 

Method Overloading 예제

[오버로딩 사용 X 경우] - int형과 double형 메서드를 각각 정의.

 

public class Hz {

  static int plusInt(int x, int y) {

    return x + y;

  }  

  static double plusDouble(double x, double y) {

    return x + y;

  }  

  public static void main(String[] args) {

    int a = plusInt(3, 4);

    double b = plusDouble(2.41, 3.14);

    System.out.println("int: " + a);

    System.out.println("double: " + b);

  }

}

 

결과값:

int: 7

double: 5.550000000000001


[오버로딩 사용 O 경우 ★] - int형과 double형 메서드를 오버로딩.

※ 권장 방식.

 

public class Hz {

  static int plus(int x, int y) {

    return x + y;

  }  

  static double plus(double x, double y) {

    return x + y;

  }  

  public static void main(String[] args) {

    int a = plus(3, 4);

    double b = plus(2.41, 3.14);

    System.out.println("int: " + a);

    System.out.println("double: " + b);

  }

}

 

결과값:

int: 7

double: 5.550000000000001



분류 제목
method Java - Method Overloading (메서드 오버로딩) ★
method Java - Scope (유효범위) - 변수 효력범위
method Java - Recursion (재귀)
class Java - OOP (객체 지향 프로그래밍)
class Java - Class (클래스) / Object (객체)
class Java - Class Attribute (클래스 속성)
class Java - Class Methods (클래스 메서드)
class Java - Constructors (생성자)
class Java - Modifiers (수정자) - 접근제어자
class Java - Encapsulation (캡슐화) ※ Getter (게터) / Setter (세터)
class Java - Packages (패키지) / API
class Java - Inheritance (상속)
class Java - Polymorphism (다형성)
class Java - Inner Classes (내부 클래스)
class Java - Abstraction (추상화)
class Java - interface (인터페이스) ★
class Java - enums (이넘) - 상수 열거형 클래스
class Java - User Input (사용자 입력) - Scanner (스캐너) ★★★
class Java - Date/Time (날짜/시간)
class Java - ArrayList (어레이리스트) - 랜덤 접근 최적화 된 유사 배열
2/10
목록
찾아주셔서 감사합니다. Since 2012