객체 생성 질문 있습니다!!
Glisten
public class Circle{private static double radius;
private static double PI=3.141592;
public Circle(){
this(0.0);
}
public Circle(double r){
radius=r;
}
public static double getRadius() {
return radius;
}
public static void setRadius(double radius) {
Circle.radius = radius;
}
public static double square(double r){
return r*r;
}
public double getArea(double r){
return square(r)*PI;
}
public double getPerimeter(double r){
r=PI*2*radius;
return r;
}
public static double getPI() {
return PI;
}
public static void main(String args[]){
square(10.0);
System.out.println(getPI());
}
}
위와 같이 circle 클래스를 만든다음에
public class CircleTest{
public static void main(String args[]){
Circle c=new Circle(5.0); // 객체 생성하고반지름 5.0으로 설정
System.out.println(원의 면적=+c.getArea()); // 원의 면적
System.out.println(원의 둘레=+c.getPerimeter()); // 원의 둘레
//Circle.radius=10.0;
}
}
이렇게 circletest 클래스를 만들었습니다. 여기서 질문 입니다. 위의 반지름을 5.0으로 설정한 것을 그대로 아래의 c.getArea와 c.getPerimeter에 넣으려고 하는데 어떻게 해야 할까요?
단순히 () 안에 반지름 5.0을 넣으면 되긴 하지만 위의 생성한 객체를 쓰는 방법 부탁드립니다!
-
초록이
아~ 그러고보니 .... 그렇네요 스테틱인데..
-
한국녀
질문하나 해도 될까요? 모든 메서드를 static으로 했고 radius도 클래스변수(static)으로 선언해놓으셨는데 굳이 객체를 왜 만드시나요?
-
윤슬이뿌잉
아 함수자체에 객체를 넣어버렸군요... 이렇게 쓰면 radius 겟터셋터가 소용이 없는...
기존함수 건드리지 않고 메인함수만 건드려서 쓰는방법도 있는데.. -
가장
아 감사합니다 알려주신대로 하니 해결됐습니다
-
튼트나
제가 잘못 이해한걸수도 있는데
public double getArea(){
return square(radius)*PI;
}
이렇게 하면 되지 않나요?
두번째꺼도 마찬가지고.
님께서 질문한게 new Circle(5.0) - 5.0 반지름 넣은걸로
c.getArea(); 해서 결과를 얻고 싶다는게 아니신지...