생성자(constructor)

essential·2023년 5월 25일

객체 지향

목록 보기
14/40
  • 인스턴스가 생성될 때마다 호출되는 “인스턴스 초기화 메서드” (인스턴스=객체 (iv묶음)

Time t = new Time();

t.hour = 12;

t.minute = 34;

t.second = 56;

= Time t = new Time(12,34,56); // new time (12,34,56) 생성자 호출

  • 이름이 클래스 이름과 같아야한다

class Card { // 클래스 이름

Card() { //매개변수 없는 생성자

// 인스턴스 초기화 작업 }

Card(String kind, int number) { //매개변수 있는 생성자

// 인스턴스 초기화 작업 }

}

기본 생성자(default constructor)

  • 매개변수가 없는 생성자
  • 생성자가 하나도 없을 때만, 컴파일러가 자동 추가

클래스() {} // 기본 생성자

Point() {} //Point 클래스의 기본 생성자

class Data_1 { // 생성자가 하나도 없어서 컴파일러가 자동으로 생성해줌
	int value;
}

class Data_2 {
	int value;
	
	Data_2() {} // 기본 생성자
	Data_2(int x) {   //매개변수가 있는 생성자
		value = x;
	}
}

class Ex6_11 {
	public static void main(String[] args) {
		Data_1 d1 = new Data_1(); //ok
		Data_2 d2 = new Data_2(); // compile error 발생 기본 생성자 넣어주면 ok
	}
}

매개 변수가 있는 생성자

class car {

String color; // 색상

String gearType; // 변속기 종류 - auto(자동), manual(수동)

int door; //문의 개수

Car() {} // 기본 생성자

Car(String c, String B, int d) { //매개 변수가 있는 생성자

color = c;

gearType = g;

door = d;

}

}

profile
essential

0개의 댓글