본문 바로가기

Java

[Java] Rectangle 클래스

3개의 메소드 추가와 사용

  1) 둘레 반환 getPeri()

  2) 필드(너비, 높이) 출력 printWH()

  3) 필드 값을 매개변수로 변경 setWH()

  4) 주 클래스에서 

     (1) 두 정수를 입력(3, 4)하여 생성자의 매개변수로 사용,

     (2) 객체 생성,

     (3) 면적 및 둘레 출력 (확인)

     (4) 필드 출력,

     (5) 정수를 입력(5, 7)하여 필드변경,

     (6) 필드출력 (필드 변경 확인)

 

package c0rinne;
 
import java.util.Scanner;  // 해당 패키지의 클래스 또는 인터페이스 사용
 
class Rectangle {  // Rectangle 클래스 정의
    private int width;  // 너비 변수 선언
    private int height;  // 높이 변수 선언
    
    public Rectangle(int a, int b) {  // 생성자
        width = a;  // 매개변수 값을 width에 저장
        height = b;  // 매개변수 값을 height에 저장
    }    
    public int getArea() {  // 면적 구하기
        int result;  // 계산 결과 저장을 위한 변수 선언
        result = width * height;  // 면적 계산
        return result;  // 결과 반환
    }   
    public int getPeri() {  // 둘레 구하기
        int result;  // 계산 결과 저장을 위한 변수 선언
        result = (width * 2+ (height * 2);  // 둘레 계산
        return result;  // 결과 반환
    }    
    public void printWH() {  // 너비와 높이 출력
        System.out.println("너비와 높이: " + width + ", " + height);  // 출력
    }    
    public void setWH(int a, int b) {  // 너비와 높이 변경
        width = a;  // 너비 변경
        height = b;  // 높이 변경
    }
}
 
public class c0rinne {  // 주 클래스
    public static void main(String args[]) {
        int w, h, area, peri;  // 변수 선언
        
        Scanner sc = new Scanner (System.in);
        // 표준 입력을 매개변수로 하여 Scanner 클래스 객체 생성
        
        System.out.print("너비 입력: ");  // 출력
        w = sc.nextInt();  // 너비 입력
        System.out.print("높이 입력: ");  // 출력
        h = sc.nextInt();  // 높이 입력
        
        Rectangle arect = new Rectangle(w, h);  // 객체 생성
        area = arect.getArea();  // 면적
        peri = arect.getPeri();  // 둘레
        System.out.println("사각형의 면적: " + area);  // 사각형의 면적 출력
        System.out.println("사각형의 둘레: " + peri);  // 사각형의 둘레 출력
        arect.printWH();  // 필드 출력, 메소드 호출
        
        System.out.print("너비 입력: ");  // 출력
        w = sc.nextInt();  // 너비 입력
        System.out.print("높이 입력: ");  // 출력
        h = sc.nextInt();  // 높이 입력
        
        arect.setWH(w, h);  // 필드 변경, 메소드 호출
        arect.printWH();  // 필드 출력, 메소드 호출
    }
}
cs