Rectangle.java를 활용해서 집 크기 구하기 예제코드 및 설명
포스트 난이도: HOO_Junior
# Example Code
public class Immutable_Rectangle {
//Fields of the class rectangle
final private double length;
final private double width;
//Getter methods(Accessor methods)
public double getLength() {
return length;
}
public double getWidth() {
return width;
}
public double getArea() {
return width * length;
}
//Constructor
public Immutable_Rectangle(double length, double width) {
this.length = length;
this.width = width;
}
//No-arg constructor
public Immutable_Rectangle() {
length = 1;
width = 1;
}
//Copy constructor
public Immutable_Rectangle(Immutable_Rectangle rr) {
this.length = rr.length;
this.width = rr.width;
}
}
public class Rectangle {
//Fields of the class rectangle
private double length;
private double width;
//Setter methods(Mutator methods)
public void setLength(double length) {
// len is the local variable of setLength method
this.length = length;
}
public void setWidth(double width) {
this.width = width;
}
//Getter methods(Accessor methods)
public double getLength() {
return length;
}
public double getWidth() {
return width;
}
public double getArea() {
return width * length;
}
//Constructor
public Rectangle(double length, double width) {
this.length = length;
this.width = width;
}
//No-arg constructor
public Rectangle() {
length = 1;
width = 1;
}
//Copy constructor
public Rectangle(Rectangle rr) {
this.length = rr.length;
this.width = rr.width;
}
}
public class Rooms {
private int n;
private Rectangle[] r;
public Rectangle room_atr(int n, int j) {
this.n = n;
r = new Rectangle[n];
for(int i=0; i<r.length; i++){
r[i] = new Rectangle(i+2, 3*(i+1));
}
return r[j];
}
}
public class Rooms_of_house {
public static void main(String[] args) {
Double area1, area2, area3;
area1 = new Rooms().room_atr(3,0).getArea();
area2 = new Rooms().room_atr(3,1).getArea();
area3 = new Rooms().room_atr(3,2).getArea();
System.out.println("The area of the first room is: ");
System.out.println(area1);
System.out.println("The area of the second room is: ");
System.out.println(area2);
System.out.println("The area of the third room is: ");
System.out.println(area3);
}
}
# Explanations
자바를 공부하다보면 Rectangle.java를 활용한 예제코드들을 많이 접할 수 있다. 이번 포스트에서도 Rectangle.java를 활용해서 Rooms_of_house를 구해볼 수 있다. Rectangle.java에 대해서 복습이 필요하다면 "Java Examples" 카테고리에서 관련된 포스트들을 찾아볼 수 있다.
우선 첫번째 예제코드로 나와있는 "Immutable_Rectangle.java"는 크게 Fields와 Getter methods로 구성되어 있다. Fields에서는 length와 width가 최종적으로 수정이 불가하다고 설정이 되어 있다. Getter methods에서는 면적, 길이, 너비 등에 대한 값을 Fields에 접근하여 입력하거나 수정할 수 있도록 만들어주는 기능이다.
다음으로 Rectangle.java에서는 Fields가 private로 설정이 되어 있기에 해당 값들은 Rectangle.java에서만 사용이 된다는 걸 알 수 있다. 또한 SEtter methods를 사용함으로써 Rectangle, 즉 추후에 집 크기 계산 및 결과에 영향을 줄 수 있는 너비와 길이에 대한 값의 수정이 여기서 가능하다.
Room.java의 경우에는 집에 방이 하나가 아닐 수도 있기 때문에 배열을 활용해서 방의 갯수를 지정해줄 수 있다. 여기서 주요하게 살펴봐야할 부분은 "room_atr(int n, int j)이며 n은 방의 갯수를 나타내고 있으며 r은 Rectangle의 배열을 의미한다.
마지막으로 "Room_of_house.java"는 최종적으로 출력을 담당하는 코드에 해당된다. 따라서 모든 기능들은 앞선 코드들과 연결되어 사용을 할 뿐 실질적으로 출력만을 담당한다. 따라서 이번 예제코드를 통해서 각 자바 코드 간의 연결이 어떤식으로 이루지고 있으며 각기 다른 기능들을 코드별로 쉽게 살펴볼 수 있다.
'Java > Java Examples' 카테고리의 다른 글
[Java Examples] 입력한 Integer에 따라서 정사각형 출력하기 예제코드 (0) | 2024.03.31 |
---|---|
[Java Examples] Array Lists, 어레이 리스트 예제코드 및 설명 (2) | 2024.02.21 |
[Java Examples] 다중 if문을 활용한 Troubleshooting 문제 해결 예제코드 및 설명 (0) | 2024.02.14 |
[Java Examples] 숫자를 로마 숫자로 바꾸기 예제 코드 및 설명 (2) | 2024.02.14 |
[Java Examples] 자바 어레이를 사용해서 오름차순으로 출력하기 (2) | 2024.02.14 |
댓글