Dev_Henry

[JAVA] 가변 매개변수(variable arguments) 본문

CS/Java

[JAVA] 가변 매개변수(variable arguments)

데브헨리 2023. 7. 19. 00:11
728x90

 

public void 함수(String...props){
}
 

공부를 하다가 위와 같은 문법의 코드를 만났다. 이게 뭐지 싶어서 찾아봤는데 자바에서 가변 매개변수를 받는 문법이었다.

 

찾아보고 나니 예전에 자바 공부를 하면서 배웠던 게 어렴풋이 기억이 난다.

 

여러 언어를 공부하다 보니 안 쓰다 보면 까먹어버리는 문법이 많은데 이런 편리한 문법이 있는 것도 기억 못 하고 구현하려고 하면 나만 손해니까 잘 기억해 두자.

 

	public void 함수(String s1) {
	}
	
	public void 함수(String s1, String s2) {
	}
	
	public void 함수(String s1, String s2, String s3) {
	}
 

 

들어오는 매개변수가 상황별로 다를 때 위와 같이 오버로딩을 하는 게 기본인데

 

전부 같은 동작을 해서 굳이 따로 적을 필요가 없다면 해당 문법으로 개수 상관없이 받을 수 있다.

 

받은 매개변수는 배열로 처리되는데

public void 함수(String[] s){
}
 
 

처음부터 배열을 매개변수로 받는 방식은 매개변수를 생략할 수 없어 null을 넣어주던가 해야 하지만 해당 문법은 생략하고 함수()로 사용할 수 있다.

 

 

728x90
반응형