toString()의 의미
해당 객체가 가진 정보를 문자열화 해달라는 의미!
Object 클래스 java.lang.Object
내부에 toString() 메소드가 있다.
-> 자바의 모든 클래스는 Object 클래스를 상속받는다.
재정의 제한사항
강제타입변환
객체타입확인 instanceof
public abstract Class 클래스{
//필드
//생성자
//메소드
}
//고려해야 할 사항
/*
Robot robot = new Robot(); //이 시점에는 상속받은 댄스로봇 등의 자식들이 필요가 없다.
1. 자식들 먼저 쓰다가 중복된 거 추출해서 부모로 만들어 쓰는 경우
2. 부모 먼저 쓰다가 자식들로 확장
3. 애초에 설계를 상속으로 잡고 시작하는 경우
//Robot만 가져다 쓰는 경우엔 아래의 메소드가 필요 없는데 의존성이 생겨버리는 문제가 있다.
//양방향 의존 관계를 피하도록 하는 것이 좋다.
//그래서 여기서 메소드를 작성하는 것보단 위의 메인으로 올리는 것이 좋은 방법