코딩하렴

String... 이 뭐지? java 매개변수 ...

by 으렴

String...에서 ... 점 3개는 왜 붙는 것일까?

 

실제로 이클립스에서 main이라는 snippet을 치면 곧바로 아래와 같은 메인이 생성된다.

	public static void main(String[] args) {
		System.out.println("main");
	}

String 배열 타입의 arguments를 받겠다 이런 뜻인데 이 코드를 다음과 같이 바꾸어도 잘 동작한다.

	public static void main(String... args) {
		System.out.println("main can start!");
	}

이 ...은 매개변수를 받긴하지만 몇개인지 모른다라는 뜻이다.

즉 몇개의 매개변수를 넣어도 다 받을 수 있다는 뜻이 된다.

public class ClassTest {

	public ClassTest() {	//기본
		this("test", "test1", "test2", "test3");
		System.out.println("기본 생성자 End");
	}

	public ClassTest(String... s) {	//String
		for (int i = 0; i < s.length; i++) {
			System.out.println(s[i]);
		}

	}

	public static void main(String... args) {
		System.out.println("main can start!");
		ClassTest ct = new ClassTest();
	}
}

다음의 예를 실행하면

main can start!
test
test1
test2
test3
기본 생성자 End

이렇게 나온다.

 

기본 생성자를 부르면 바로 자신(this)을 부르고 String을 매개변수로 받는 생성자를 또 부르게 된다.

순서대로 for문을 돌려출력해보면 test~3까지 4개의 매개변수를 잘 받아온 것을 알 수 있다.

'Programming Language > JAVA' 카테고리의 다른 글

삼항연산자의 활용  (0) 2019.07.11
JAVA 설치하기 + 환경변수 설정  (0) 2019.06.30
JAVA Swing Window Builder 설치하기  (0) 2019.06.02
Java String==String 은 true?  (0) 2019.05.31
Java Scanner 쓰긔  (0) 2019.05.29

사이트의 정보

코딩하렴

으렴

활동하기