티스토리 뷰
반응형
오버로딩(overloading)
자바에서는 한 클래스 내에 이미 사용하려는 이름과 같은 이름을 가진 메서드가 있더라도
매개변수의 개수 또는 타입이 다르면, 같은 이름을 사용해서 메서드를 정의할 수 있다.
이처럼, 한 클래스 내에 같은 이름의 메서드를 여러 개 정의하는 것을
메서드 오버로딩(method overloadiing) 또는 오버로딩(overloading)이라 한다.
오버로딩(overloading)의 조건
같은 이름의 메서드를 정의한다고 해서 무조건 오버로딩인 것이 아니다.
오버로딩이 되기 위해서는
1. 메서드 이름이 같아야 한다.
2. 매개변수의 개수 또는 타입이 달라야 한다.
메서드의 이름이 같아도 매개변수가 다르면 서로 구별될 수 있기 때문에 오버로딩이 가능하다.
위의 조건을 만족하지 못하면 중복 정의로 컴파일 에러가 발생한다.
반환타입은 오버로딩을 구현하는데 아무런 영향을 주지 못한다.
오버로딩(overloading) 예시
가장 대표적인 예로는 println메서드이다.
println메서드를 호출할 때 매개변수로 지정하는 값의 타입에 따라서 호출되는 println메서드가 달라진다.
//예시
println()
println(int x)
println(long x)
println(boolean b)
//등등등
오버로딩이 성립하지 않을 때
밑에 1번과 2번 메서드는 오버로딩이 성립하지 않는다.
매개변수의 이름만 다를 뿐 매개변수의 타입은 같기 때문이다.
//1번
int add(int a, int b){
return a+b;
}
//2번
int add(int x, int y){
return x+y;
}
리턴 타입이 다를 경우도 오버로딩으로 성립하지 않는다.
//1번
int add(int x , int y){
return x+y;
}
//2번
double add(int x, int y){
return (double)(x+y);
}
반응형
'Programming > JAVA' 카테고리의 다른 글
Java 자바 두 변수 값 바꾸기, 자바 두 변수 교환 (0) | 2020.12.09 |
---|---|
Java 변수와 타입, 선언, 초기화 (자바 기초 문법) (0) | 2020.12.02 |
Java 이스케이프 문자(escape) 자바 역슬래시, 개행, 띄어쓰기 (0) | 2020.12.02 |
[JAVA]자바 프로그래밍 기초 (0) | 2020.12.02 |
[JAVA] 자바 자료형 크기 (1) | 2020.12.02 |
댓글
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 자바 조건문 문제
- 쉬운 알고리즘 문제
- 자바
- java 초기화
- 자바 연습문제
- 컴활 1급 유동균
- 엑셀 입력마스크
- 컴활 입력마스크
- 엑셀 배열수식
- kh정보교육원 후기
- 백준 쉬운문제
- 컴활1급 실기
- 국비학원
- kh정보교육원 강남
- 백준 알고리즘
- 자바 변수
- 컴활 유동균
- 백준
- 컴활1급 실기 유동균
- 컴활1급 엑세스 기출
- 컴활1급 유동균
- 자바 초기화
- java
- 컴활 1급 실기
- 백준 기초문제
- 자바 조건문
- 엑셀 msgbox
- excel msgbox
- KH정보교육원
- Java 연습문제
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 | 31 |
글 보관함