반응형
생성자(Constructor)
- new 키워드 다음에 오는 것을 생성자라고 한다.
- Class이름과 똑같다 + () 예를 들어, Person()과 같이.
- return이 없다.
💡 객체가 생성될 때 객체의 멤버변수를 초기화하는데 사용한다.
💡 생성자는 여러개 만들수 있다, ()가 있기때문에 parameter값을 받을 수도 있다.

❗ 생성자는 method와 헷갈리면 안된다.

➰ 여러 생성자 사용 (초기화 역할)
package day11;
public class Phone {
String model;
int price;
String color;
/*
* 생성자
* 1. 클래스가 객체로 처음 생성될 떄 불려나가는 친구
* 2. 이름은 클래스 명과 동일하다.
* 3. 생성자를 만들지 않으면 자동으로 생성해 줍니다.
*/
Phone(){ //**기본생성자 제일 많이 사용된다.**
System.out.println("생성자 호출됨");
//생성자의 주된 역할은 멤버변수 초기화
model = "iphone8";
price = 380000;
color = "pinkgold";
}
//()가 있기때문에 parameter값을 받을 수도 있다.
Phone(String pModel){//생성자는 여러개 만들수 있다, 단 모형이 달라야 한다.
model = pModel;
price = 580000;
color = "blue";
}
//생성자 중복 - consturtor overloading이라고 한다.
Phone(String pModel, int pPrice){
model = pModel;
price = pPrice;
color = "purple";
}
//자바는 data type을 중시하기 때문에 parameter값을 서로 바꿔서 사용하면 또하나의 생성자로 사용가능하다.
Phone(int pPrice, String pModel){
model = pModel;
price = pPrice;
color = "silver";
}
Phone(String pModel, int pPrice, String pColor){ //**모든 멤버변수를 parameter값으로 받는 생성자도 많이 사용된다.**
model = pModel;
price = pPrice;
color = pColor;
}
void info() {
System.out.println("===폰의 정보===");
System.out.println("모델no: " + model);
System.out.println("가격: " + price);
System.out.println("색상: " + color);
}
}
package day11;
public class PhoneMain {
public static void main(String[] args) {
//객체1
Phone apple = new Phone();
apple.info();
//객체2
Phone samsung = new Phone("zFlip");
samsung.info();
//객체3
Phone blackberry = new Phone("Q10", 300000);
blackberry.info();
//객체4
Phone nokia = new Phone(250000, "Nokia2");
nokia.info();
// 모든 멤버 변수를 매개변수로 받는 생성자 만들기
// 초록, 10000, 아이폰을 전달해서 객체 생성
Phone iphone = new Phone("iphone", 10000, "초록");
iphone.info();
}
}
반응형
'국비지원 > JAVA' 카테고리의 다른 글
| [JAVA] 12-2. 상속 (Inheritance) (0) | 2022.10.06 |
|---|---|
| [JAVA] 12-1. Garbage Collecting와 Package / 기본타입과 참조타입 (0) | 2022.10.06 |
| [JAVA] 11-2. 객체와 클래스 (0) | 2022.10.05 |
| [JAVA] 11-1. method 이어서 (배열과 method) (0) | 2022.10.05 |
| [JAVA] 10. method (0) | 2022.10.04 |