반응형
1 . 오버로딩
- 자바에서는 파라미터 갯수가 다르면 다른 메소드로 인식을 한다.
- 동일한 메소드명으로 다양한 종류의 매개변수에 따라 다르게 처리해야하는 것을 관리하기 위해 사용하는 기술
- 동일한 메소드명의 매개변수인 타입, 개수, 순서를 다르게 작성 (메소드의 시그니처가 다르지만 메소드 명은 같게 함)
2 . 오버로딩의 사용 이유
- 동일한 이름으로 다양한 종류의 매개변수에 따라 처리해야 하는 여러 메소드를 동일한 이름으로 관리하기 위해 사용
반응형
3 . 오버로딩의 조건
- 시그니쳐 중 메소드 이름은 동일하게 작성하고 파라미터 선언부를 다르게 작성 해야 오버로딩이 성립됨
메소드의 시그니쳐? 메소드의 메소드명과 파라미터 선언 부분
ex) public void mehod(int num) {}
=> method(int num) 부분이 시그니처임.
.
- 오버로딩 성립 조건 확인
public void test() {}
(1) 메소드 시그니처가 동일한 경우 compile error 발생
public void test() {} (x)
(2) 접근제한자는 메소드 시그니처에 해당하지 않음
private void test(){}
(3)반환형은 메소드 시그니처에 해당하지 않음
public int test(){ return 0;) (x)
(4) 매개변수 이름은 메소드 시그니처에 영향 x 에러
public void test(int num) {} <- 확인용 기준메소드
public void test(int num2){} (x)
(5) 매개변수의 갯수에 따른 오버로딩 성립
public void test(int num1, int num2) {}
(6) 매개변수 타입 변화에 따른 오버로딩 성립
public void test(int num, String name) {}
(7) 매개변수 순서 변화에 따른 오버로딩 성립
public void test(String name, int num) {}
반응형
'프로그래밍 > java' 카테고리의 다른 글
[자바JAVA] Final & static ( 필드, 메소드) (0) | 2022.07.07 |
---|---|
[자바JAVA] 파라미터(parameter)_가변파라미터 (0) | 2022.07.07 |
[자바JAVA] 객체 지향 언어(OOP) & DTO 작성 방법 (0) | 2022.07.07 |
[자바JAVA] 클래스(class)_객체 생성, 전역변수, 접근제한자, this. (0) | 2022.07.07 |
[자바JAVA] 배열의 정렬(오름차순으로 정렬하기, 중복 값 제거하기) (0) | 2022.07.07 |