public void movePiece(Piece chosenPiece) {
		Piece gonnaMovePiece;
		System.out.println("움직일 위치의 좌표값을 입력하세요.");
		Position gonnaMovePos = inputPos();

		while (!chosenPiece.moveAblePosList.contains(gonnaMovePos)) {
			
			if(isKing(chosenPiece) && isCastling(gonnaMovePos)) break; //캐슬링 처리
			
			System.out.println("접근할 수 없는 위치입니다. 다시 입력해주세요.");
			gonnaMovePos = inputPos();
			
		}

		gonnaMovePiece = Board.chessBoard.get(chosenPos);

		if(isEnpassant(gonnaMovePiece, gonnaMovePos)){ //앙파상 처리
			Position baseBeside = new Position(gonnaMovePos.getxPos(),gonnaMovePos.getyPos()-1);
			Board.chessBoard.remove(baseBeside);
		}
		
		Board.chessBoard.put(gonnaMovePos, gonnaMovePiece);

		gonnaMovePiece.resetMoveablePosList(gonnaMovePos);
		gonnaMovePiece.moveCount++;
		Board.chessBoard.remove(chosenPos);
		
		isPromotion();//HACK: 프로모션의 처리, 명확하지 못하다. 해결방법을 잘 모르겠다. 
	}