Value Object
값 그 자체를 표현하는 객체
불변이여야함.
setter 포함 x / 생성자를 통해서만 값을 초기화해야 함.
속성값이 모두 같으면 같은 객체이다.
vo에 @override 하는 이유 :
자바의 모든 객체는 Object 클래스를 상속 받으며 Object 클래스는 모든 객체에 공통으로 필요한 toString, equals 등의 메소드를 가지고 있습니다. toString 메소드는 Object객체에서 상속 받아 쓰는 것이 되므로 오버라이딩 된 메소드이며 @Override는 오버라이딩 된 메소드임을 명시적으로 알려주는 어노테이션입니다. 오버라이딩 된 메소드를 작성하려할 때 해당 어노테이션을 붙이면, 상위 클래스에 없는 메소드를 오버라이딩하려 할 때, 오류를 발생시켜 미리 실수를 방지해 줍니다