자바( Java ) - 메서드 오버로딩( Overloading ), 가변인자( varargs )

Chanyang Im·2022년 4월 2일
0

Java

목록 보기
13/14
post-thumbnail

오버로딩의 조건

1. 메서드 이름이 같아야 한다.
2. 매개변수의 개수 또는 타입이 달라야 한다.

오버로딩의 예

void println()
void println(boolean x)
void println(char x)
void println(long x)
.
.
.

오버로딩의 장점

1. 근본적으로 같은 기능을 하는 메서드들의 이름을 모두 동일하게 만들 수 있다.
서로 다른 이름을 가져야한다면 메서드를 작성하는 쪽에서는 이름을 짓기도 어렵고,
사용하는 쪽에서도 기억하기 어렵다.

2. 메서드의 이름을 절약할 수 있다.
메서드의 이름을 짓는데 고민을 덜 수 있다. 그리고 다른 메서드에 사용할 수 있다.

가변인자(varargs)

String concatenate(String s1) {...}
String concatenate(String s1, String s2) {...}
String concatenate(String s1, String s2, String s3) {...}

이렇게 사용하는 것보다, 가변인자를 사용해서 간단히 대체할 수 있다.

String concatenate(String... str) {...}

'타입... 변수명'과 같은 형식으로 쓴다.
인자가 아예 없어도 되고 배열도 인자가 될수 있다.

가변인자를 사용한 메서드는 오버로딩하지 않는 것이 좋다.

profile
안녕하세요!! 세상에 관심이 많은 공학자입니다!😆

0개의 댓글