본문 바로가기

수업 복습하기/Java

Day 09 - 생성자(Constructor)

728x90
728x90

= 생성자(Constructor)란?

(클래스의 생성을 담당하는 직원이라고 생각하기)

- 객체가 생성될 때, 객체의 상태(멤버변수)를 초기화하는데 사용한다.

- 객체가 생성될 때, new 키워드 다음에 오는 것을 생성자라 한다.

- 생성자는 메서드와 모양이 비슷하게 생겼다. 하지만 반환 타입을 적지 않고 클래스 이름과 대/소문자까지 똑같이 만들어야한다.

- 생성자는 클래스 안에 하나 이상 선언해야 하며, 없다면 JVM이 자동으로 하나 생성해준다.

- 기본 생성자는 매개 변수를 가지지 않는 기본 형태의 생성자이다.

 

= 생성자 만드는 규칙

1. 생성자 이름 = 클래스 이름 (대/소문자까지) +)만약 다른 이름으로 생성자를 한다면, 메서드로 취급한다

2. 반환 유형 X

3. 여러개 생성 가능

 

= 생성자 예제

package day06;

public class Phone {
//뼈다구 설계도 만들어 봅시다
	String model;
	int price;
	String color;
	
	//생성자는 클래스이름과 동일합니다. 반환유형이 없습니다
	//보통 멤버변수 아래에 적어주는 편이다.
	Phone(){
		System.out.println("생성자 호오오오출~!");
		model="햅틱";
		price=20000;
		color="black";}
	
	//생성자 여러개 일 수 있습니다.
	//단, 매개변수 종류 or 개수를 다르게 설정해야 합니다.
	Phone(String pModel){
		model=pModel;
		price=30000;
		color="red";}
	
	Phone(String pModel, int pPrice){
		model=pModel;
		price=pPrice;
		color="white";}
	
	Phone(String pModel, int pPrice,String cColor){
		model=pModel;
		price=pPrice;
		color=cColor;}
    
	void info()	{
		System.out.println("=====휴대폰 정보=====");
		System.out.println("모델:"+model);
		System.out.println("가격:"+price);
		System.out.println("색상:"+color);
	}
}
package day06;

public class PhoneMain {
public static void main(String[] args) {
	
	Phone black=new Phone();
	black.info();
	
	Phone iPhone=new Phone("아이폰");
	iPhone.info();
	
	Phone galaxy = new Phone("갤럭시노트10",100000);
	galaxy.info();
    
	//모든 멤버변수를 받는 생성자를 만들고
	//초록색,100000원, 가로본능으로 객체를 생성
	Phone iphonep=new Phone("가로본능",100000,"Green");
	iphonep.info();
}
}

728x90