Language/Java
[JAVA 30] 자바 오버로딩 ( Overloading )
reifier.tistory.com 으로 이전하였습니다.
2018. 2. 14. 18:04
반응형
■ 오버라이딩 ( Overriding ) 과 오버로딩 ( Overloading )
오버라이딩과 오버로딩은 오버~딩 이라고
흔히들 말하기 때문에 용어 말하기에 대해서 혼동하기 쉽다고 생각합니다.
하지만 개념을 알고 보면 그렇게 비슷한 부분이 없기때문에
그리 어렵지 않습니다.
2) 오버로딩 ( Overloading )
(1) 호출시 해당 생성자나 메소드에 매핑되어 호출되도록
파라미터의 갯수나 타입 그리고 순서가 다르면서
이름은 같은 생성자나 메소드를 여러개 정의하는 것
(2) 종류
① 생성자 오버로딩
② 메소드 오버로딩
(3) 조건
① 생성자나 메소드의 이름이 같아야 한다.
② 파라미터의 종류와 갯수, 그리고 순서중 하나라도 달라야 한다.
③ 리턴타입 일치하지 않아도 된다.
④ 형변환이 가능한 파라미터라도 오버로딩으로 인정한다.
cf) 자동 형변환이 가능한 파라미터는 형변환 되어
해당 생성자나 메소드에 매핑이 된다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | class OverloadingS1{ OverloadingS1(){} OverloadingS1(String name){ System.out.println("0. name : " + name); } void m(){} void m(int age){ System.out.println("1. m(int age) : " + age); } String m(String name){ System.out.println("2. 이름 : " + name); return name; } void m(String name , int age){ System.out.println("3. " + name + " : " + age); } } class OUser{ public static void main(String[] args){ OverloadingS1 ols1 = new OverloadingS1("CIVIC"); ols1.m(100); ols1.m("시빅"); ols1.m("시빅" , 100); } } | cs |
반응형