생성자란?
자바 클래스에서 생성자란 객체가 메모리에 할당 될 때마다 자동으로 실행되는 메소드를 의미합니다.
객체가 생성될 때 한 번 호출되는 메소드이며, 리턴형이 없고 클래스명과 함수명이 같습니다.
그리고 반드시 public이라는 수식어가 붙여야 하며
하나의 클래스에 여러 개의 생성자가 존재할 수도 있습니다.
# 생성자 기본구조
public 클래스명 (초기화 할 변수)
{
인스턴스 변수 초기화 명령문들
}
# 다른 메소드들과 다른 특징
- 클래스 이름과 동일한 이름을 가진 메소드입니다.
- 반환형이 선언되어 있지 않으면서, 반환하지 않는 메소드입니다.
즉, 메소드 이름이 클래스명과 똑같고, void나 int처럼 반환형이 선언되어 있지도 않고, return 반환을 하지도 않습니다. 입력만 있을 뿐 출력은 없습니다. 초기화만 해주는 것입니다.
① 디폴트 생성자
디폴트 생성자란 우리가 생성자를 정의 해주지 않아도 기본으로 정의 되어 있는 생성자입니다.
우리가 클래스를 정의할 때 지금까지 생성자를 따로 정의해주지 않았었습니다.
하지만 우리는 생성자를 있다는 마냥 객체를 생성하였습니다.
(객체가 생성된다는 의미는 생성자가 실행되었다라는 의미)
바로 보이지 않는 디폴트 생성자가 실행된 것입니다.
② 매개변수를 갖는 생성자
디폴트생성자는 매개변수가 없는 생성자를 의미합니다.
그렇다면 매개변수가 있는 생성자를 만들 수 있다는 것이죠
③ 생성자는 오버로딩이 가능합니다.
<예제 1>
<결과>
이렇게 생성자를 잘 활용하여 프로그램을 짜신다면 따로 초기화 하는 부분을 정의/실행하지 않고
생성과 동시에 초기화가 가능하여 소스가 좀 더 간결하고 보기 좋도록 할 수 있습니다.
'프로그래밍 언어 > JAVA' 카테고리의 다른 글
[JAVA] instanceof 연산자 (1) | 2017.08.24 |
---|---|
[JAVA] 상속/super (0) | 2017.08.18 |
[JAVA] 변수의 종류, 멤버변수/지역변수/클래스변수 (0) | 2017.08.06 |
[JAVA] 접근 제어자 & 그 외 제어자 (0) | 2017.08.04 |
[JAVA] 클래스의 구조 / this (0) | 2017.08.03 |