지금 shape 라는 추상 슈퍼클래스를 만들고
아래에 하위 4가지 도형을 만들었어 (현재 생성자, 넓이 구하는 메소드 까지는 구현되어진 상태 넓이 구하는 메소드는 추상클래스에서 오버라이딩으로 만들었음)
이제부터 추가해야 할께 이 두가지임
--면적으로 2가지 도형이 같은지 알려주는 메소드가 있다.
이게 지금 문젠데. 내가 이 클래스를 (예를 들면 삼각형, 사각형) 을 인자로 2개 받아서
이 두개의 넓이를 비교하는 메소드를 구성하려면 어떻게 해야하는걸까
단순이 내가 넓이를 리턴하는 메소드를 인자로 넣기 위해서는 그냥 double 형으로 인자를 받는 방법 밖에 없는거지??
--모양으로 2가지 도형이 같은지 알려주는 메소드가 있다.(좌표상 위치는 상관없음)
이거의 경우에는 instanceof 로 하면 되는거 맞나?? 현재 클래스 형태를 알면 그걸 boolean으로 비교하면 되는거지???
마지막으로 추상클래스를 상속받는 경우에는 내가 상속 받는 하위 클래스 들에 대해서 오버라이딩 되는 메소드를 각각 다 구현해 놔야만 하는거야??
클래스를 인자로 받아서 면적 비교 할거면 getter로 두 개의 면적 땡겨오고 같으면 true 다르면 false 리턴하면 되는거 아냐? 도형이 같은지 아닌지 비교하는데 double형으로 뭘 리턴해줄건지가 궁금한데
음 일단 getter 용도는 저가 알아봐야 될 것 같구요.저가 지금 알고자 하는건 일단 추상클래스를 정의를 하면 하위 클래스 모든 구간에서 각각 그 추상클래스에 대해 정의를 일일히 똑같은 내용이라도 넣어줘야 하냐 인데... 저가 이해하고있는게 맞나용?
일단 상속을 받았으면 부모 클래스에 정의된건 있어야겠지? 근데 요즘은 extends <클래스명> 붙여두고 뭔가 없으면 IDE가 알아서 다 붙여주던데
애시당초 상위 클래스의 메소드도 abstract method 일거고 당연히 바디를 못 만드니까 하위 클래스에서 override해서 하나하나 적어줘야하지 않을까 싶은데
만약에 interface를 활용하게 되면요. 이거와는 다르게 머리부분에 메쏘드를 만들어서 한번에 상속받아 이용할 수 있게 되니깐, 추가적으로 저가 오버라이딩하기위한 메쏘드를 일일히 구연할 필요는 없죠?