Server-Side/Java

메소드 오버로딩(Overloading)

업단업업 2015. 8. 3. 22:35


1. 한 클래스 내에서 같은 이름을 가진 메소드를 추가로 정의하는 경우 메소드 시그니처(메소드 매개변수 구성 정보)가 다르면 동일한 이름의 메소드를 여러개 정의할 수 있다. 이를 메소드 오버로딩이라고 한다.


2. 메소드 오버로딩의 조건

- 메소드 이름이 같다

- 매개변수 구성(개수, 자료형)이 다르다

- 반환 자료형은 관계 없다.


3. 메소드 오버로딩 형식

접근지정자 반환자료형 메소드이름(자료형1 매개변수1) {

}

접근지정자 반환자료형 메소드이름(자료형2 매개변수2) {

}

접근지정자 반환자료형 메소드이름(자료형1 매개변수1, 자료형2 매개변수2) {

}

======================================================================

//Sample36.java
package com.test;

//패키지명 중에서 ... 가 생략된 상태
//import java.lang.*:

//Object 클래스에 대한 상속 표기 생략된 상태
public class Sample36 {
//기본 생성자 표기 생략된 상태
//메소드 오버로딩
public void print() {
System.out.println("Hello, World!");
}
public void print(String msg) {
System.out.printf("Hello, %s World! %n", msg);
}
//문제) 오버로딩 메소드 추가할 것.
public void print(int a) {
}
public void print(String msg1, String msg2) {
}
}


//Main.java
package com.test;

public class Main {

public static void main(String[] args) {
Sample36 s36 = new Sample36();
//오버로딩 메소드 호출 테스트
s36.print(); //"Hello, World!"
s36.print("Java"); //"Hello, Java World!"
//문제) 추가된 오버로딩 메소드 호출하는 문장 작성할 것.
}

}

==================================================



결과값 >