-
8일 차 중간점검(생성자)삼성SDS_멀티캠퍼스/Java 2015. 9. 16. 14:59반응형
import java.util.Scanner;
class Point {
private int x;
private int y;
@Override
public String toString() {
return "Point [x=" + x + ", y=" + y + "]";
}
public int getX() {
return x;
}
public void setX(int x) {
this.x = x;
}
public int getY() {
return y;
}
public void setY(int y) {
this.y = y;
}
public Point() {
x = 10;
y = 20;
}
public Point(int num, int num2) {
Scanner scan = new Scanner(System.in);
System.out.println("x 좌표 정보를 입력하세요");
num = scan.nextInt();
System.out.println("y 좌표 정보를 입력하세요");
num2 = scan.nextInt();
setPoint(num, num2);
}
public void setPoint(int i, int j) {
this.x = i;
this.y = j;
}
}
public class Test4 {public static void main(String[] args) {Point pt = new Point();Point pt2 = new Point(20,50);System.out.println(pt);System.out.println(pt2);}}------------------------------------------------------------------------------------------------문제 : Circle 클래스 작성Circle 클래스는 상태정보로 원점의 좌표와 반지름의 크기를 가짐원점의 좌표는 만들어둔 Point자료형을 활용반지름의 크기는 정수로기본생성자/매개변수 받는 생성자접근자/설정자(getter/setter)toStringclass Circle {private int radius; // 반지름private Point x; // Point 클래스의 좌표public int getRadius() {return radius;}public void setRadius(int radius) {this.radius = radius;}public Point getX() {return x;}public void setX(Point x) {this.x = x;}@Overridepublic String toString() {return "Circle [radius=" + radius + ", x=" + x + "]";}public Circle() {radius = 3;x = new Point(3, 5);}public Circle(int radius, Point x) {setCircle(radius, x);}public void setCircle(int radius, Point x) {this.radius = radius;this.x = x;}}import java.util.Scanner;public class Test5 {public static void main(String[] args) {Scanner scan = new Scanner(System.in);int i, j;System.out.println("x좌표 값을 입력하세요");i = scan.nextInt();System.out.println("y좌표 값을 입력하세요");j = scan.nextInt();Point x = new Point(i, j);Circle cir = new Circle();Circle cir2 = new Circle(51, x);System.out.println(cir);System.out.println(cir2);}}응용하면 이것도 가능하다===============================================import java.util.Scanner;public class Test5 {public static void main(String[] args) {Scanner scan = new Scanner(System.in);int i, j;System.out.println("x좌표 값을 입력하세요");i = scan.nextInt();System.out.println("y좌표 값을 입력하세요");j = scan.nextInt();Point x = new Point(i, j);Circle cir = new Circle();Circle cir2 = new Circle(51, x);// cir2.setX(new Point(5,7)); // Circle의 객체인 cir2를 불러내고 cir2의 Point 객체인// x를 불러내서 매개변수를 5,7로 설정System.out.println(cir);System.out.println(cir2);System.out.println();cir2.getX().setX(20); // cir2의 Point 객체인 x를 읽어와서 x의 값을 20으로 세팅cir2.getX().setY(50); // cir2의 Point 객체인 x를 읽어와서 y의 값을 50으로 세팅x.setX(100); // Point의 객체인 x에 매개변수인 x를 100으로 세팅System.out.println(cir);System.out.println(cir2);System.out.println();cir2.getX().setX(30); // cir2의 Point 객체인 x를 읽어와서 x의 값을 30으로 세팅System.out.println(cir);System.out.println(cir2);}}출처: 삼성SDS멀티캠퍼스강사: 홍승길Email : iccack70@gmail.com반응형'삼성SDS_멀티캠퍼스 > Java' 카테고리의 다른 글
9일 차 정적변수 (0) 2015.09.17 8일 차 시험(깊은 복사, 얕은 복사) (0) 2015.09.16 8일 차 생성자 하나 만들어보기 (0) 2015.09.16 8일 차 생성자 생성시에 유의할 점 & 팁 (0) 2015.09.16 8일 차 생성자는 메소드 오버로딩이 가능하다 (0) 2015.09.16