ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Power JAVA 9장 ) 생성자와 접근 제어 - LAB
    IT/솔루션) Power Java 2019. 4. 23. 07:46

    <2016. 10. 3. 18:58>

     

    Power JAVA 9장 ) 생성자와 접근 제어 - LAB

     

    /* 
     * 원을 나타내는 클래스 Circle을 단계적으로 작성해보자.
     */
    class Circle {
    	private double radius;
    	static final double PI = 3.141592;
    	//PI라는 이름으로 3.141592로 초기화된 정적 변수
    	//1. 원의 반지름을 매개 변수로 받는 생성자를 작성하라.
    	Circle(double radius) {
    		this.radius = radius;
    	}
    	//2. 설정자 메소드인 setRadius()와 접근자 메소드인 getRadius()를 작성한다.
    	void setRadius(double radius) {
    		this.radius = radius;
    	}
    	double getRadius() {
    		return radius;
    	}
    	//3. double형의 값을 제곱하여 반환하는 square() 메소드를 작성한다. 전용 메소드로 선언하라.
    	private double square(double n) {
    		return n*n;
    	}
    	//4. 원의 면적을 계산하는 getArea() 메소드를 작성한다. 이때 square() 메소드를 사용하라.
    	double getArea() {
    		return this.square(radius) * PI;
    	}
    	//5. 원의 둘레를 계산하는 getPerimeter() 메소드를 작성한다.
    	double getPerimeter() {
    		return 2 * PI * radius;
    	}
    	//6. PI값을 반환하는 정적 메소드 getPI를 작성한다.
    	static double getPI() {
    		return PI;
    	}
    	//7. Cicle 클래스 안에 main()를 추가하고 다음과 같이 square() 메소드를 호출하여보자. 어떤 결과가 발생하는가?
    	//   - 에러가 남. square() 메소드는 인스턴스메소드로 선언되었기 때문에 객체를 통해서만 접근이 된다.
    	//8. main() 안에서 정적 메소드인 getPI를 호출하여 보라.
    	//  - static으로 정적메소드로 선언하였기 때문에 에러없이 실행됨.
    }
    /* 9. Circle 클래스를 테스크하기 위하여 별도의 클래스인 CircleTest 클래스를 작성하라.
     * main() 안에서 Circle 객체를 생성하고 getArea()와 getPerimeter()를 호출하여서 원의 면적과 둘레를 구하라. */
    public class LAB {
    	public static void main(String[] args) {
    		Circle myC = new Circle(5);
    		// 객체 생성, 생성자 호출시 반지름을 5.0으로 설정
    		System.out.println("원의 면적은 : " + myC.getArea());
    		System.out.println("원의 둘레는 : " + myC.getPerimeter());
    	}
    }

    댓글

다치지 말고 운동하자.