-
[Java] 생성자(constructor)프로그래밍/JAVA 2022. 8. 6. 10:50728x90
생성자는 new 연산자를 통해 객체가 생성할때 반드시 호출되고 제일 먼저 실행되는 메소드이다. 생성자는 클래스 명과 동일한 이름을 가진 메소드명을 갖고 필드의 초기값을 지정해주는 초기화 역할을 한다.
만일 클래스에서 생성자를 직접 생성하지 않았다면 JVM에서 자동으로 빈 생성자를 만들어 호출한다.
생성자는 반환 타입이 존재하지 않고 생성자는 초기화를 위한 데이터를 인수로 전달 받을 수 있다. 또 객체를 초기화 하는 방법이 여러개 존재할 경우에는 하나의 클래스가 여러 개의 생성자를 가실 수 있다.
즉, 생성자도 메소드 오버로딩이 가능하다.
오버로딩은 메소드명이 같고, 시그니처(파라미터의 타입과 개수)가 다른 생성자 메소드를 여러개 만드는 것을 의미한다.
// 생성자 메소드 형식 [public] 클래스명(){ 생성자가 호출되면 실행할 문장; ... } // 생성자 메소드 오버로딩 클래스명(){...} 클래스명(String name){...} 클래스명(String name, int age){...} // 객체 생성 클래스명 참조변수 = new 클래스명(); 클래스명 참조변수 = new 클래스명("홍길동"); 클래스명 참조변수 = new 클래스명("홍길동", 27);
여기서
클래스명(){...}
는 기본 생성자로 위에서 설명한 것과 같이 특별히 정의해주지않아도 자바 컴파일러가 기본적으로 제공해준다. 다만 매개변수를 가지는 생성자를 하나라도 정의했으면 기본 생성자가 자동으로 추가되지 않는다.
728x90'프로그래밍 > JAVA' 카테고리의 다른 글
[Java] 메소드(method)(1) (0) 2022.08.06 [Java] 필드(field) (0) 2022.08.06 [Java] 객체지향 프로그래밍 (0) 2022.08.06 [Java] String 클래스 (0) 2022.08.06 [Java] 배열(Array) (0) 2022.08.06