메소드 오버로딩(Overloading) - 메소드 확장
매개변수의 타입과 갯수를 다르게 함으로서 함수의 기능을 확장하는 것을 말한다.
이를 사용하면 함수를 계속 만들지 않고, 기존에 있는 함수의 매개변수를 달리함으로서 계속 사용 가능하다.
static void echo() { //메아리처럼 콘솔에 출력해주는 함수
System.out.println("echo");
}
static void echo(int param){
System.out.println("echo:"+param);
}
위의 함수를 생각해보자.
함수의 이름이 똑같으나, 밑의 함수는 pram이라는 매개변수를 갖는다.
echo();
echo( 10 ); 출력값: 홍길동
홍길동:10
이 기능을 통해 우리는 println에 문자열형과 정수형, 실수형 모두 사용가능하다.
public class ex70 {
//메소드 오버로딩(Overloading - 과적) : 메소드 확장
// : 매개변수를 다르게 함으로 함수의 기능을 확장하는 것.
// : (타입과 갯수)
// 장점 : 함수이름을 계속 만들지 않고 같은 함수를 매개변수를 달리함으로
// 계속 사용할 수 있다.
// println( int param ), println( String param ), ....
//기술면접에 자주 나오는 질문
//1. 메소드 오버로딩 vs 오버라이딩(Overriding)의 차이점은?
//2. 추상화 클래스 vs 인터페이스의 차이점은?
public static void main(String[] args) {
echo();
echo( 10 );
echo( "홍길동" );
echo( 10, "홍길동" );
}
static void echo() { //메아리처럼 콘솔에 출력해주는 함수
System.out.println("echo");
}
static void echo(int param){
System.out.println("echo:"+param);
}
static void echo(String param){
System.out.println("echo:"+param);
}
static void echo(int param1, String param2){
System.out.println("echo:"+param1+","+param2);
}
}
'공부 > java' 카테고리의 다른 글
자바(java)의 클래스 상속 (0) | 2023.01.23 |
---|---|
자바(java)의 싱글톤 패턴 (1) | 2023.01.23 |
자바(java)의 정렬 알고리즘(버블, 선택, 삽입) (0) | 2023.01.23 |
자바(java)의 열거형 표현 (0) | 2023.01.23 |
자바(java)의 배열 (0) | 2023.01.23 |