본문 바로가기
수업(국비지원)/Java

[Java] chap6 : 클래스와 객체 - 생성자 Exam 4-5

by byeolsub 2023. 4. 15.

 📌 생성자 Exam4

package chap6;
/*
 * 구동 클래스가 정상적으로 실행 되도록 Animal3 클래스 구현하기
 * Animal3 클레스의 멤버
 *    멤버 변수 : name,age
 *    멤버 메서드 : toString()
 */
class Animal3{
	String name;
	int age;
	Animal3(String i, int j){ //생성자
		name = i;
		age = j;
	}
 public	String toString() {
		return name+":"+age;
	}
}
public class Exam4 {
	public static void main(String[] args) {
		Animal3 a = new Animal3("원숭이",20);
		System.out.println(a); //원숭이:20
	}
}

📌 생성자 Exam5

package chap6;

/*
 * Rectangle3 클래스 구현하기
 *  멤버변수 : width(가로),height(세로), sno(사각형번호),
 *          cnt(사각형의번호를 생성하기위한 static 변수)
 *  생성자 : 가로와 세로를 입력받고, 
 *         가로,세로 값을 초기화, 사각형의번호생성
 *  멤버메서드 : 
 *      int area()   : 넓이 값 리턴
 *      int length() : 둘레 값 리턴
 *      boolean isSquare() : 정사각형 여부 리턴
 *      void info() : 
 *          "1번사각형 :(10,10) 넓이:100, 둘레:40, 정사각형" 문자열을 출력하기
 *          "2번사각형 :(20,10) 넓이:200, 둘레:60, 직사각형" 문자열을 출력하기
 */
class Rectangle3 { // 클래스 구현, 기본 생성자 제공안됨.
	int width;
	int height;
	int sno;
	static int cnt;

	Rectangle3(int w, int h) { // 생성자
		width = w;
		height = h;
		sno = ++cnt;
	}
	// 멤버 메서드

	int area() {
		return width * height;
	}

	int length() {
		return (width + height) * 2;
	}

	boolean isSquare() {
		return width == height;
	}

	void info() {
		System.out.println(sno + "번사각형: (" + width + "," + height + ") 넓이:" + area() + ", 둘레:" + length() + ","
				+ (isSquare() ? "정사각형" : "직사각형"));
	}

	public String toString() {
		return sno + "번사각형: (" + width + "," + height + ") 넓이:" + area() + ", 둘레:" + length() + ","
				+ (isSquare() ? "정사각형" : "직사각형");
	}
}

public class Exam5 {
	public static void main(String[] args) {
//Rectangle3 클래스를 3개를 저장하는 배열 생산하기
		Rectangle3 [] arr = new Rectangle3[3];
		arr[0] = new Rectangle3(10,10);
        arr[1] = new Rectangle3(20,10);
        arr[2] = new Rectangle3(20,20);
        for(Rectangle3 r : arr) {
        	r.info();
       	System.out.println(r);
        }
        for(int i=0;i<arr.length;i++) {
        	arr[i].info();
        	System.out.println(arr[i]); //toString() 메서드
        }
	}
}