728x90
반응형
JAVA :: 자바 문법 정리(4)
가변인자
기존에는 메서드의 매개변수 개수가 고정적이었으나 JDK1.5 부터 동적으로 지정해 줄 수 있게 되었으며, 이 기능을 가변인자라고 한다. 가변인자는 ‘타입… 변수명’과 같은 형식으로 선언한다. PrintStream 클래스의 printf()가 대표적인 예이다.
public PrintStream printf(String format, Object... args); { ... }
가변인자 외에도 매개변수가 더 있으면, 가변인자를 매개변수 중에서 제일 마지막에 선언해야 한다. 그렇지 않으면, 컴파일
에러가 발생한다.
가변인자는 내부적으로 배열을 이용한다. 그래서 가변인자가 선언된 메서드를 호출할 때마다 배열이 새로 생성된다. 가변인자가 편리하지만, 이런 비효율이 숨어있기 때문에 꼭 필요한 경우에만 사용해야한다.
가변인자를 사용한 메서드를 호출할 때는 인자가 아예 없어도 되고 배열을 사용할 수도 있다. (C 언어와 달리 자바에서는 길이가 0 인 배열을 생성하는 것이 허용된다.)
생성자
컴파일러가 자동적으로 기본 생성자를 추가해주는 경우는 ‘클래스 내에 생성자가 하나도 없을 때’ 뿐이다.
생성자에서 다른 생성자를 호출할 때에는 생성자의 이름으로 클래스이름 대신 this 를 사용한다. ‘this’는 참조변수로 인스턴스 자신을 가리킨다. 또한 한 생성자에서 다른 생성자를 호출할 때는 반드시 첫 줄에서만 호출이 가능하다.
✔️ this : 인스턴스 자신을 가리키는 참조변수, 인스턴스의 주소가 저장되어 있다. 모든 인스턴스 메서드에 지역변수에 숨겨진 채로 존재한다.
✔️ this(), this(매개변수) : 생성자 같은 클래스의 다른 생성자를 호출할 때 사용한다.
반응형
'Language > JAVA' 카테고리의 다른 글
JAVA :: 자바 문법 정리(6) (0) | 2023.04.25 |
---|---|
JAVA :: 자바 문법 정리(5) (0) | 2023.04.24 |
JAVA :: 자바 문법 정리(3) (0) | 2023.04.22 |
JAVA :: 자바 문법 정리(2) (0) | 2023.04.21 |
JAVA :: 자바 문법 정리(1) (0) | 2023.04.20 |
댓글