Java - 클래스 - 메소드 오버로딩 (Method Overloading)

반응형

오버로딩 (Overloading)

  • 하나의 메소드의 이름으로 여러 기능을 구현하는 것

오버로딩의 조건

  • 정의하는 메소드의 이름이 동일해야 함
  • 입력받는 데이터의 데이터 타입이나 파라미터의 수가 달라야 함
public class Add {
   // 메소드 오버로딩
   int add(int x, int y) { return x + y; }
   float add(float x, float y) { return x + y; }
   double add(double x, double y) { return x + y; }
   String add(String x, String y) { return x + y; }

	public static void main(String[] args) {
	    Add a = new Add(); // 객체 생성
		
	    // 정수형 오버로딩
	    int int_a = 1, int_b = 2;
	    System.out.println( "int "+a.add(int_a, int_b) ); // int 3
	    
	    // 실수형 오버로딩
	    float float_a = 1.1f, float_b = 2.2f;
	    System.out.println( "float "+a.add(float_a, float_b) ); // float 3.3
    
	    // 실수형 오버로딩
	    double double_a = 1.1, double_b = 2.2;
	    System.out.println( "double "+a.add(double_a, double_b) ); // double 3.3
        
	    // 문자형 오버로딩
	    String str_a = "ab", str_b = "cd";
	    System.out.println( "str "+a.add(str_a, str_b) ); // str abcd
	}
}

 

반응형