생성자(Constructor)

Kong-al·2022년 8월 19일

0812 6일차 수업내용

생성자(Constructor)

Member m1 = new Member(); 

생성자란

new 키워드를 사용하여 객체개 생성될 때 자동으로 실행되는 특수한 형태의 메서드
리턴형을 명시하지 않으며, 메서드의 이름은 클래스와 동일하다.

예시

User user = new User();

class User{
	User(){
		// 이 안은 객체가 생성될 때 자동으로 호출된다.
	}
}

자동으로 실행된다는 특성 때문에, 객체가 생성되면서 해당 객체의 특성을 초기화
하기 위하여 사용된다.(ex:멤버변수의 초기값을 할당하는 용도)

기본생성자

파라미터가 없는 생성자
클래스에 특별히 생성자가 정의되지 않은 경우, Java컴파일러가 기본생성자가 존재한다고 인식한다.

예시

	User u = new User();

	class User{
		User(){
			// 생성자는 있지만, 내용은 비어있다.
		}
	}

파라미터를 갖는 생성자

생성자도 메서드의 한 종류이므로 파라미터를 함께 정의하는 것이 가능하다.
생성자의 파라미터를 멤버변수에 복사하는 것으로 객체의 초기화를 외부적인 요인에 의해 처리할 수 있다.

예시

class User{
	String name;
	int age;
	
	User(String name , int age){
		this.name = name;
		this.age = age;
	}
}

생성자에 파라미터가 정의된 경우 객체 생성 구문에서 해당 파라미터를 반드시 전달행야한다

생성자의 특징(메소드와의 차이)

생성자는 반드시 클래스명과 동일하게 정의하여야 한다.
생성자 앞에는 접근 제어자는 올 수 있지만 반환값이 없으므로 void나 자료형을 작성할 수 없다.

profile
웹개발 공부중!(❁´◡`❁)

0개의 댓글