오버로딩?! 메서드 오버로딩?!
::::특별한 Java Story 2013. 6. 3. 01:18 |/*내용을 복사 한 후 이클립스에서
ctrl + shift + F를 눌러주세요!!*/
//오버로딩?! 메서드 오버로딩?!
//생각보다 쉽다..왜냐고? 진짜 별거 없거든~
//그냥 메서드에서 매개변수 --> int add() <--저 메서드에서 괄호안에 들어가는 매개변수만
//달리해주면 그게 오버로딩이래~ 예문을 보면 더 잘 알수 있쥐~~ㅎ
//자 ~ 달려주마! 잘 따라오숑
package JavaTest;
//우선 클래스 정의를 합죠! 앞에서 했던거 참조하장!
class MyMath3{
int add(int a, int b){
return a+b;
}
long add(int a, long b){ //자~ 왼쪽 보면 메서드 add들이 여러개 있는데 이걸 오버로딩 같은 이름의
return a+b; //메서드로 처리한게 특징이라고 할 수 있지...요게 바로 오버로딩
} //근데 원래는 메서드의 이름이 같으면 안되거든... 그럼 당연히
// 밑에서 처리할때 어떤 놈을 써줘야 할지 모르거든..그래서 자바에서는 저것들
long add(long a, int b){ //을 분리하는 방법으로 add 옆에 괄호 보이지 바로 매개변수의 형태만 전부
return a+b; //다르게 하면 그 형식에 맞는 놈들을 밑에서 불러다 쓸 수 있게 하는 방식인
} //오버로딩을 만든것 같다.. 참으로 별거 아니지만 심오(?)한것 같다..ㅋㅋ
//아 참고로 리턴값은 오버로딩에는 아무런 영향을 끼치지 않는다고 열라게
long add(long a, long b){ //강조하던데 참고만 하자!ㅋ
return a+b;
}
}
//////////자 그럼 밑에서 실제로 한번 써먹어보겠음돠~~~~!
public class OverloadingTest {
public static void main(String[] args) {
//클래스 안에 메서드..딱 저들을 보니 저건 '인스턴스 변수들이네...' 인스턴스를 먼저 시켜야 겠고만~~
MyMath3 mm = new MyMath3();
System.out.println(mm.add(3, 3)); //자 봤지?!! 위에 형식에 맞춰서 각각의 메서들을 불르는것을~~
System.out.println(mm.add(3, 3L));
System.out.println(mm.add(3L, 3));
System.out.println(mm.add(3L,3L));
}
}
'::::특별한 Java Story' 카테고리의 다른 글
클래스메서드(static 메서드) 와 인스턴스메서드 (0) | 2013.06.03 |
---|---|
인스턴스변수, 클래스(static)변수 (0) | 2013.06.03 |
인스턴스 메서드 (0) | 2013.06.03 |
재귀호출 (메서드가 나와서..리~~) (0) | 2013.06.03 |
'인스턴스 초기화 메서드' (0) | 2013.06.03 |