동일한 이름을 가진 두 가지 메소드의 차이를 이해하려고합니다. 이 Object 변수 유형은 무엇을 의미합니까?
public class Test {
public static void main(String[] args) {
MyPoint p1 = new MyPoint();
MyPoint p2 = new MyPoint(10, 30.5);
System.out.println(p1.distance(p2));
System.out.println(MyPoint.distance(p1, p2));
}
}
class MyPoint {
.....
}
public double distance(MyPoint secondPoint) {
return distance(this, secondPoint);
}
public static double distance(MyPoint p1, MyPoint p2) {
return Math.sqrt((p1.x - p2.x) * (p1.x - p2.x) + (p1.y - p2.y) * (p1.y - p2.y));
}
사람이 2
distance()
방법의 차이를 설명해 주시겠습니까 ... 내가 이해하려고 노력하고있는 코드입니다. 유형
MyPoint
은 실제로 무엇을 의미합니까? 하나의 메소드에 하나의
MyPoint
객체가있는 반면 다른 메소드에는 2
MyPoint
객체가있는 이유는 무엇입니까?
물어볼 때 당황 스럽지만 왜 매개 변수에는 클래스 이름을 포함 할 수 있지만 String이나 int와 같은 유형은 포함 할 수 없습니까? –
둘 중 하나를 포함 할 수 있습니다. int 또는 boolean과 같은 경우, 단순한 숫자 또는 참/거짓과 같은 기본 유형의 데이터를 참조합니다. String, MyPoint 또는 다른 클래스 이름과 같은 객체라면 객체의 유형을 의미합니다. 단순한 기본 유형의 데이터보다 복잡 할 수 있습니다. – wattostudios
내가 잘못 이해 한 부분을 알고 있습니다. 고맙습니다. –