728x90
1. 메서드 오버로딩
- 동일한 메서드명으로 메서드 선언이 가능하다.
- 단, 인수타입, 인수갯수가 달라야한다.
2. 메서드 오버로딩 호출
package kr.or.ksmart;
import java.io.File;
class User{//데이터 저장 형태
private String name;
private String age;
public void setUserInfo(String name) {
this.name = name;
}
public void setUserInfo(String name, String age) {
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public String getAge() {
return age;
}
}
class UserInfoService{// 같은 처리- 코드 재작성 할 필요가 없음
public int userAddProcess(User user){
System.out.println("userAddProcess 호출");
return 1;
}
public int userAddProcess(User user, File file) {
int result =userAddProcess(user);
if(result > 0) {
//파일 처리
System.out.println("userAddProcess 오버로딩 호출");
}
return result;
}
}
public class JavaBasic01 {
public static void main(String[] args) {
User user = new User();
user.setUserInfo("홍길동", "20");
File file = null;
UserInfoService service = new UserInfoService();
service.userAddProcess(user);
}
}
3. 주의점
- 메서드의 리턴타입으로 메서드 오버로딩 할 수 없다.
- 메서드의 인수명으로도 메서드 오버로딩을 할 수 없다.
4. 오버로딩 에러
1. 같은 매개변수 타입, 매개변수명만 다를 경우
2. 리턴데이터 타입이 다를 경우
반응형
'Backend > JAVA' 카테고리의 다른 글
JAVA 상속 (0) | 2020.04.22 |
---|---|
JAVA 생성자 설계하기 (0) | 2020.04.22 |
JAVA 실습. 클래스 (0) | 2020.04.21 |
JAVA 형 변환 (0) | 2020.04.21 |
JAVA 클래스 (0) | 2020.04.21 |
댓글