카테고리 없음

생성자 개념

bbangduck 2023. 7. 31. 12:01

 

//잘못된 코드
//객체가 두 번 생성됨

class Circle {
	int r;
	Circle(){
	}
	Circle(int r){
		Circle c  = new Circle();
		c.setRadius(r);
	}
	void setRadius(int r){
		this.r = r;
	}
	int getRadius() {
		return this.r;
	}
}
public class ShapeTest {

	public static void main(String[] args) {
		Circle c = new Circle(5); // 반지름이 5인 원객체
		System.out.println(c.getRadius()); //5

	}

생성자를 부르면 자동으로 객체 생성된다는 걸 망각해서 탄생한 기괴한 코드 ....

 

//올바른 코드
class Circle {
	int r;
	Circle(int r){
		this.r = r;
	}
	
	int getRadius() {
		return this.r;
	}
}
public class ShapeTest {

	public static void main(String[] args) {
		Circle c = new Circle(5); // 반지름이 5인 원객체
		System.out.println(c.getRadius()); //5

	}

}