💡 object 메서드중 final이 아닌 메서드는 모두 재정의를 염두에 두고 설계된 것
@Override public boolean equals(Object o) { throw new AssertionError(); }