[1, 2, 3단계 - 체스] 유콩(김유빈) 미션 제출합니다. by kyukong · Pull Request #288 · woowacourse/java-chess

[4, 5단계 - 체스] 유콩(김유빈) 미션 제출합니다. by kyukong · Pull Request #396 · woowacourse/java-chess

객체의 표현값의 위치

public enum PieceInfo {

  BLACK_PAWN("♟", 1),
  BLACK_ROOK("♜", 5),
  BLACK_KNIGHT("♞", 2.5),
  BLACK_BISHOP("♝", 3),
  BLACK_QUEEN("♛", 9),
  BLACK_KING("♚", 0),

  WHITE_PAWN("♙", 1),
  WHITE_ROOK("♖", 5),
  WHITE_KNIGHT("♘", 2.5),
  WHITE_BISHOP("♗", 3),
  WHITE_QUEEN("♕", 9),
  WHITE_KING("♔", 0),
  ;
}

Untitled

(피드백에 대한 답변을 남긴 후 다시 코드를 수정하였기 때문에 DTO 를 사용했다 하지만 최종 코드에는 사용하지 않았습니다.)

피스들의 표현 값을 객체가 가지고 있을 필요가 없다고 생각하여 객체(Piece)와 객체의 정보(PieceInfo)를 분리하였다. 객체가 외부에 표현되는 값은 객체 내부에서 사용하는 값도 아니고 상태를 추적해야 하는 값도 아니기 때문이다.