14일 차 - 클래스, 객체, 클래스 예제(23.01.12)

yvonne·2023년 1월 12일
0

📂Java

목록 보기
14/51

1. 아래가 답이 나오도록 해당 Class들을 만드시오.

Circle circle = new Circle();
	circle.setRadius(10);
	double area = circle.getArea();
	System.out.println(area);
	
	Rectangle rectangle = new Rectangle();
	rectangle.setWidth(10);
	rectangle.setHeight(10);
	
	 area = rectangle.getArea();
	System.out.println(area); //100

public class Circle {
	double radius;
	double area;
	final double PI = 3.14;

	void setRadius(int num) {
		radius = num;
	}

	double getArea() {
		area = radius * radius * PI;
		return area;
	}

	public static void main(String[] args) {
		Circle circle = new Circle();
		circle.setRadius(10);
		double area = circle.getArea();
		System.out.println(area);

		Rectangle rectangle = new Rectangle();
		rectangle.setWidth(10);
		rectangle.setHeight(10);

		area = rectangle.getArea();
		System.out.println(area); // 100

	}

}

class Rectangle {
	double width;
	double height;
	double area;

	void setWidth(int a)

	{
		width = a;
	}

	void setHeight(int b)

	{
		height = b;
	}

	double getArea() {
		area = width * height;
		return area;
	}
}


2. 아래의 메모리를 그리시오

class Circle {
	final double PI = 3.14;
	double radius;
	void setRadius(double num) {
		radius = num;
	}
	double getArea() {
		double area = radius * radius * PI;
		return area;
	}
}



3. 아래의 클래스에 대하여, 메모리 그림을 그리시오.

Rectangle rec = new Rectangle();
 public class Rectangle {
int height;
int width;
 public int getHeight() {
return height;
}
 public void setHeight(int height) {
this.height = height;
}
 public int getWidth() {
return width;
}
 public void setWidth(int width) {
this.width = width;
}
 public int getArea() {
return width * height;
} 
}



4. 클래스와 객체의 차이는 무엇인가?

📌 클래스(Class)

  • 객체를 정의하고 만들어 내기 위한 설계도 혹은 틀
    연관되어 있는 변수와 메서드의 집합

📌 객체(Object)

  • 소프트웨어 세계에 구현할 대상
  • 클래스에 선언된 모양 그대로 생성된 실체
  • 클래스의 인스턴스(instance) 라고 부른다.
  • 객체를 생성한다는 것은 해당 클래스의 .class 파일을 메모리에 올린다는 것을 의미한다.

📌 인스턴스(Instance)

  • 설계도를 바탕으로 소프트웨어 세계에 구현된 구체적인 실체
  • 즉, 객체를 소프트웨어에 실체화 하면 그것을 '인스턴스'라고 부른다.
  • 실체화된 인스턴스는 메모리에 할당된다.
  • 객체가 메모리에 할당되어 실제 사용될 때 '인스턴스'라고 부른다.
  • 인스턴스는 어떤 원본(추상적인 개념)으로 부터 '생성된 복제본'을 의미


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

  • 1 부터 num 까지 합을 구하는 class 를 작성하도록 하시오.

package classprac;

public class ClassSum {

	public static void main(String[] args) {
		Sum go = new Sum();
		go.setEnd(10);
		int sum = go.getSum();
		System.out.println(sum);

		go.setEnd(5);
		sum = go.getSum();
		System.out.println(sum);

	}

}

class Sum {
	int end;
	int sum = 0;

	void setEnd(int num) {
		end = num;

	}

	int getSum() {
		sum = 0;
		for (int i = 1; i <= end; i++) {
			sum += i;

		}
		return sum;
	}

}


6. 아래의 클래스를 작성하시오.

StraPrint strPrint = new StarPrint();
strPrint.printTriangle(3);
System.out.println();

- 출력결과 -
*
**
***


public class StarClass {

	public static void main(String[] args) {
		StarPrint strPrint = new StarPrint();

		strPrint.printTriangle(3);
		System.out.println();

	}

}

class StarPrint {
	int i;
	int j;

	void printTriangle(int a) {
		for (i = 1; i <= a; i++) {
			for (j = 1; j <= i; j++) {
				System.out.print("*");
			}
			System.out.println();
		}

	}

}
profile
개발 연습장

0개의 댓글