일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 자바 추상메서드
- Java다운캐스팅
- 데이터베이스
- Java추상클래스
- Express
- java super( )
- 자바 Wrapper클래스
- 오라클
- 자바 제어문
- 자바 String클래스
- 자바 문자열 클래스
- 코딩
- Java 내부 클래스
- DBMS
- Java문자열 클래스
- Java try-catch
- 자바 Random클래스
- Java업캐스팅
- 자바 try-catch
- db
- Java 추상 메서드
- Java thorw
- 자바 내부 클래스
- dbeaver
- oracle
- 자바 스트링클래스
- 자바 예제
- Java객체배열
- nodejs
- database
- Today
- Total
코딩이란 무엇일까
[Java/자바] 메소드 오버 로딩(Overloading) 본문
안녕하세요 오늘은 메소드의 오버 로딩(Overloading)에 대해 알아보려 합니다!
메소드 오버 로딩(Overloading)이란?
메소드의 오버로딩이란 클래스 내에 같은 이름의 메소드를 여러 개 선언하는 것을 메소드 오버로딩(Overloading)이라고 합니다.
하나의 메소드 이름으로 여러 기능을 담는다 하여 붙여진 이름이라 생각하면 됩니다.
메소드 오버로딩의 조건
메소드 오버 로딩이 가능하려면 매개 변수의 타입, 개수, 순서중 하나가 달라야 합니다.
메소드 오버로딩을 사용하는 경우는?
하나의 메소드 이름으로 여러 기능을 사용하는 경우가 어떤 경우가 있을까요?
예를 들어 정수 값을 더해주는 sum_int( )메소드를 만들었습니다.
그런데 사용자는 실수 값도 더하고 싶어서 sum_double( )라는 메소드를 만들었습니다.
그런데 또? 문자열을 합하는 메소드도 만들고 싶은 겁니다. 이제 생각을 하는 거죠
어차피 sum 즉, 합하는 건 똑같은데 이걸 굳이 int, double, String과 같이 타입별로 이름을 다 만들면 복잡해지는 거죠..
이럴때 메소드 오버로딩을 사용해 메소드가 받는 매개변수만 바꿔주고 이름은 sum으로 통일하자 이겁니다!
메소드 오버 로딩의 예시
public class Method_Overloading1 {
public static void main(String[] args) {
sum(10,20);
sum(1.23,3.12);
sum(10,20,30);
}
//메서드의 이름은 같으나 매개변수의 타입이 다름
static void sum(int x, int y) {
System.out.println(x+y);
}
static void sum(double x, double y) {
System.out.println(x+y);
}
//메서드의 매개변수 갯수에 변화
static void sum(int x, int y, int z) {
System.out.println(x+y+z);
}
}
위와 같이 메소드의 이름은 같지만 안의 매개변수의 타입 int냐 double이냐 매개변수 갯수가 2개냐 3개냐 4개냐에 따라
메소드 오버 로딩을 사용할 수 있습니다.
그럼 이제 sum( )이라는 메소드에 정수형, 실수형이 올 수 있고
두 개의 값과 세 개의 값을 넣을 수 있는 것이죠!
출력 결과
오류 없이 잘 나오네요 ㅎㅎ
자~ 오늘은 메소드를 오버로딩하는 방법을 알아보았습니다. 추후에 메소드 오버라이딩이라는 개념이 나오는데
메소드 오버로딩과 오버라이딩이 많이 헷갈립니다.
따라서 메소드 오버 로딩 개념을 확실히 잡고 넘어가야 나중에 헷갈리지 않고 공부할 수 있습니다.
이상으로 포스팅 마치겠습니다.
글 읽어주셔서 감사합니다!

'Java' 카테고리의 다른 글
[Java/자바] 클래스(1) 인스턴스(instance) 변수와 클래스변수 (0) | 2022.09.29 |
---|---|
[Java/자바] 객체지향 프로그래밍이란(Object-Oriednted Programming)? (0) | 2022.09.28 |
[Java/자바]메서드에 알아보기 (1) | 2022.09.26 |
[Java/자바] 배열(5) 카페 프로그램 예제 풀어보기 (1) | 2022.09.25 |
[Java/자바]배열(4) 배열의 복제 및 foreach문 (0) | 2022.09.24 |