생성자(constructor)
- 모든 클래스에 존재하는 일종의 메소드로 인스턴스를 생성시켜주는 작업을 합니다.
생성자가 없으면 JVM이 자동으로 default 생성자를 만들어 사용합니다.
default 생성자 : 다른 작업은 하지 않고 오직 인스턴스만을 생성합니다.
- 생성자는 인스턴스 생성시 딱 한 번만 실행됩니다.
가장 먼저 실행되기 때문에 멤버 변수들의 초기화에 주로 사용됩니다.
- 선언법
접근제어지시자 메소드명-클래스명([매개변수(들)]){ 생성자 실행문(들); }
생성자는 리턴타입이 없습니다. : 입력하면 생성자가 아닌 일반 메소드로 인식합니다.
생성자의 이름은 반드시 클래스 이름과 동일해야 합니다.(대소문자 포함)
.
.
예제1
class NumberEx
{
int num = 10; // 멤버변수
public NumberEx(){ // 생성자
num++;
System.out.println("생성자 호출");
}
public int getNumber(){
return num;
}
}
class Constructor1
{
public static void main(String[] args)
{
NumberEx num1 = new NumberEx();
System.out.println(num1.getNumber());
NumberEx num2 = new NumberEx();
System.out.println(num2.getNumber());
}
}
.
.
예제2
class NumberEx
{
int num; // 멤버변수
public NumberEx(int n){ // 생성자
num = n;
System.out.println("매개변수 값 : " + n);
}
public int getNumber(){
return num;
}
}
class Constructor2
{
public static void main(String[] args)
{
NumberEx num1 = new NumberEx(10);
System.out.println(num1.getNumber());
NumberEx num2 = new NumberEx(20);
System.out.println(num2.getNumber());
}
}
728x90
반응형
'Java > 본격 Java 클래스' 카테고리의 다른 글
[Java] 실습 - 삼각형 넓이 구하기 (0) | 2020.06.25 |
---|---|
[Java] 실습 - 사과판매3(생성자 이용) (0) | 2020.06.25 |
[Java] 실습 - 사과판매2 (0) | 2020.06.25 |
[Java] 실습 - 사과 판매1 (0) | 2020.06.25 |
[Java] 인스턴스(instance) (0) | 2020.06.25 |