day11_ConstructorTestEx10

육희영·2021년 10월 26일
0
package com.java1.day11;

//그 동안 우리는 인스턴스를 생성할 때 컴파일러가 제공한 기본 생성자를 사용해왔던 것이다.
class Data1 {
	int value;
}

class Data2 {
	int value;

//Data2(){
//	value = 0;
//}
	Data2(int x) { // 매개변수가 있는 생성자
		value = x;
	}
}

public class ConstructorTestEx10 {

	public static void main(String[] args) {
		Data1 d1 = new Data1();
//		Data2 d2 = new Data2(); // compile error발생
		/**
		 * Data1 에는 정의되어있는 생성자가 하나도 없으므로 컴파일러가 기본 생성자를 추가해 주었지만 Data2 에는 이미 생성자
		 * Data2(int x)가 정의되어 있으므로 기본 생성자가 추가 되지 않았기 때문이다. 기본 생성자가 컴파일러에 의해서 추가 되는 경우는
		 * 클래스에 정의된 생성자가 하나도 없을때 뿐이다.
		 */

	}

}

0개의 댓글

Powered by GraphCDN, the GraphQL CDN