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
'수업 복습하기 > Java' 카테고리의 다른 글
Day 10 - 기본타입과 참조타입 (0) | 2021.08.29 |
---|---|
Day 10 - 패키지(Package) (0) | 2021.08.29 |
Day 09 - 객체와 클래스 (0) | 2021.08.26 |
Day 08 - 메서드에서 배열 활용하기 (0) | 2021.08.25 |
Day 08 - 메서드 반환 유형(return type) (0) | 2021.08.24 |