매개변수로 Object o를 받으면 뭘 의미하는지 모르겠습니다.

조회수 2037회
public int compareTo(Object o)

CircleTwo c = (CircleTwo) o;

여기서 CompareTo의 매개변수 Object o가 뭘 가르키는지 모르겠습니다.

그리고 둘째 줄에서 (CircleTwo) o를 형변환한다는 뜻인가요??위에 CircleTwo라는 생성자가 있는 코드입니다.

1 답변

  • 좋아요

    0

    싫어요
    채택 취소하기

    객체지향적인 설계관점으로 볼 때 좋은 설계가 아닙니다.

    Object로 받을 것이 아니라 CircleTwo 의 추상화된 타입(혹은 인터페이스)으로 받아야 합니다.

    Object o 는 모든 타입을 받겠다는 겁니다. 그 후 형변환을 하는 이유는 객체의 메소드를 호출하기 위해 메소드가 존재하는 클래스로 형변환을 하는 겁니다.

    제대로 설계가 되었다면 CircleTwo의 인터페이스 혹은 추상클래스로 받고 형변환없이 호출할 수 있었을 겁니다.

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)