오버로딩은 한 클래스 안에 같은 이름의 메서드를 여러 개 정의하는 것을 의미한다. 오버로딩을 통해 메서드들이 하나의 이름으로 정의되어 가독성을 향상할 수 있고, 유지보수에 용이하다.
오버로딩의 조건
- 메서드의 이름이 같아야 한다.
- 매개변수의 개수 또는 타입이 달라야 한다.
- 반환 타입은 영향이 없다. 반환 타입만으로는 오버로딩이 성립되지 않는다.
아래의 예제의 경우 method1 이라는 이름의 메서드를 오버로딩 한 것으로, method1을 불러 올 때의 매개변수의 갯수에 따라서 시행되는 메서드가 다른 것을 볼 수 있다.
package com.example1;
public class Example2 {
public void method1(String s1){
System.out.println("입력 값 (매개변수 1개) : " + s1);
}
// 메서드 오버로딩 1
public void method1(String s1, String s2){
System.out.println("입력 값 (매개변수 2개) : " + s1 + " : " + s2);
}
//메서드 오버로딩 2
public void method1(String ...str){
for(String s : str){
System.out.println("입력 값 (매개변수 3개) : " + s);
}
}
public static void main(String[] args) {
Example2 example = new Example2();
example.method1("매개변수1");
example.method1("매개변수1", "매개변수2");
example.method1("매개변수1", "매개변수2", "매개변수3");
}
}
'Backend > Java' 카테고리의 다른 글
Java 기초 문법 : 제어자(modifier) (1) | 2024.06.13 |
---|---|
Java 기초 문법 : 패키지, import문 (1) | 2024.06.13 |
Java 기초 문법 : this와 super() (0) | 2024.06.10 |
Java 기초 문법 : 클래스간의 관계 - 상속과 포함 (0) | 2024.06.09 |
Java 기초 문법 : 필드(field)와 메서드(method) (0) | 2024.05.21 |
Java 기초 문법 : 클래스와 객체 그리고 인스턴스 (0) | 2024.05.21 |
Java 기초 문법 : 배열의 활용 (0) | 2024.05.19 |
Java 기초 문법 : 배열 (1) | 2024.05.15 |