자바기초) 클래스, getter, setter 활용 퀴즈 : 두 점 사이 거리 측정하기

박대현·2023년 1월 30일
0

자바 기초 활용

목록 보기
13/22

거리 측정 클래스(Point)를 구현하고 Main에서 거리 측정하기


거리 측정 클래스 조건
1) 멤버 변수: private double x, y;
2) 생성자: 기본 생성자, 매개변수 생성자
3) 메소드:
(1) getter/setter 메소드 -> 4개
(2) 두 점 사이의 거리를 리턴하는 메소드
- public double distance(Point pt) {...}
- 공식 : D^2 = (x2-x1)^2 + (y2-y1)^2


거리 측정 클래스(Point.java)


public class Point {
	// 1. 멤버 변수: private double x, y;
	private double x;
	private double y;

	// 2. 생성자: 기본 생성자, 매개변수 생성자
	public Point() {

	}

	public Point(double x, double y) {
		this.x = x;
		this.y = y;
	}

	// 3. getter/setter 메소드
	public double getX() {
		return x;
	}

	public void setX(double x) {
		this.x = x;
	}

	public double getY() {
		return y;
	}

	public void setY(double y) {
		this.y = y;
	}
	// 4. 두 점 사이의 거리를 리턴하는 메소드

	public double distance(Point pt) { // 현재 인스턴스의 x,y 좌표 값과 매개변수로 받은 인스턴스의 x,y 값을 활용한다.

		// 두 점 사이의 거리를 구하는 공식 은
		// D^2 = (x2-x1)^2 + (y2-y1)^2 이다.
		// 양변에 근호를 씌어 값을 구한다.

		return Math.sqrt((x - pt.x) * (x - pt.x) + (y - pt.y) * (y - pt.y)); // math.sqrt()는 제곱근을 구하는 메소드이다.

	}

}

Main

public class Main {
//Point클래스를 활용하여 두 점 사이의 거리 구하기
	public static void main(String[] args) {
    	// private 멤버 변수에 접근하는 방법 1
        // Point 클래스의 매개변수가 있는 생성자를 활용하여 x,y 값을 바로 초기화 시킨다.
		Point pt1 = new Point(2.0, 3.0);
        
        //getter 메소드로 간접적으로 값을 확인한다.
		System.out.println(pt1.getX());
		System.out.println(pt1.getY());
		
        // private 멤버 변수에 접근하는 방법 2
        // setter 메소드를 활용하여 간접적으로 값을 넣는다.
        Point pt2 = new Point();
		pt2.setX(3.0);
		pt2.setY(4.0);
		System.out.println(pt2.getX());
		System.out.println(pt2.getY());
        
        // 두 점 사이의 거리 계산 (distance 메소드 활용)
		System.out.println(pt1.distance(pt2));//인자로 pt2를 받아서
        //pt1의 x,y 값과 pt2의 x,y을 활용해 두 점 사이의 거리를 계산한다.
        
	}
}

0개의 댓글