자바에서 매개변수를 선택적으로 할 수 있을까요??
조회수 4500회
1 답변
-
네 가능해요~ 가변인수(varargs)를 쓰시든지 메소드 오버라이딩 하는 방법이 있어요.
메소드 오버라이딩
private boolean defaultOptionalFlagValue = true; //매개변수가 boolean형일때 호출되는 doSomething() public void doSomething(boolean optionalFlag) { ... } //매개변수가 없을때 호출되는 doSomething() public void doSomething() { doSomething(defaultOptionalFlagValue); }
똑같은 메소드를 원하는 매개변수마다 여러개 만들어주는건데요. 이런식으로 정의하고 호출을 doSomething()하시면 아래의 메소드가 doSomething(true)하시면 위의 메소드가 호출됩니다.
가변인수
void foo(String a, Integer... b) { Integer b1 = b.length > 0 ? b[0] : 0; Integer b2 = b.length > 1 ? b[1] : 0; //... } foo("a"); foo("a", 1, 2);
가변인수는 foo의 두번째 매개변수
Integer... b
같은...
이라고 쓰는데요. 그 뜻은 Integer 자료형이 0개부터 여러개까지 유동적으로 올수 있다는 뜻입니다.
댓글 입력