SW 19일차

Guryena·2023년 1월 19일
1

CS

목록 보기
11/34

1.정보은닉에 대하여 설명하시오.

  • 다른 객체에게 자신의 정보를 숨기고 자신의 연산만을 통해 접근을 허용하는 것으로, 클래스 외부에서 특정 정보에 접근을 막는다는 의미이다.

2.접근 제한자 4가지에 대하여 설명하시오.

  • public = can use all
    private = this command is can use in own class
    default = can use in same package
    protected = can use in same package and child class

3.아래의 프로그램을 작성 하시오.

다음 멤버를 가지고 직사각형을 표현하는 Rectangle 클래스를 작성하라.
 
- int 타입의 x, y, width, height 필드: 사각형을 구성하는 점과 크기 정보
- x, y, width, height 값을 매개변수로 받아 필드를 초기화하는 생성자
- int square() : 사각형 넓이 리턴
- void show() : 사각형의 좌표와 넓이를 화면에 출력
- boolean contatins(Rectangle r) : 매개변수로 받은 r이 현 사각형 안에 있으면 true 리턴
- main() 메소드의 코드와 실행 결과는 다음과 같다
public static void main(String[] args) {
Rectangle r = new Rectangle(2, 2, 8, 7);
Rectangle s = new Rectangle(5, 5, 6, 6);
Rectangle t = new Rectangle(1, 1, 10, 10);
 
r.show();
System.out.println("s의 면적은 "+s.square());
if(t.contains(r)) System.out.println("t는 r을 포함합니다.");
if(t.contains(s)) System.out.println("t는 s를 포함합니다.");
}

출력:
===========
(2,2)에서 크기가 8x7인 사각형
s의 면적은 36
t는 r을 포함합니다.
public class Rectangle {
	private double base;
	private double height;
	private double area;

	public Rectangle(double x1, double y1, double x2, double y2) {
		base = Math.abs(x1-x2); //절대값
		height = Math.abs(y1-y2);
		wrongInput();
		area();
	}

	private double wrongInput() {
		if (base == 0 || height == 0 ) {
			System.out.println("잘못된 입력입니다.");
		}
		return 0;
	}
	private double area() {
		area = (base * height);
		return area;
	}
	private double getLeft() {
		return base;
	}
	private double getheight() {
		return height;
	}
	
	public void show(Rectangle rectangle) {
		System.out.println("면적은 "+area);
		if (this.base >= rectangle.base && this.height >=rectangle.base) {
			System.out.println("포함하고 있습니다.");
		}
		else if (this.base <= rectangle.base && this.height <=rectangle.base) {
			System.out.println("포함되어 있습니다.");
		}
		else {
			System.out.println("포함되어있지 않습니다.");
		}
	}
	

}

0개의 댓글