Swift言語を学ぶ

上記サイトの最後のコードが以下になります。

/* オセロのコマ */
enum Piece {
    case Black, White
}

/* オセロ盤 */
class OthelloBoard {
    class var rows: Int    { return 8 }
    class var columns: Int { return 8 }
    class var squares: Int { return rows * columns }
    var board: [Piece?]
    init() {
        board = Array(count: OthelloBoard.squares, repeatedValue: nil)
        self[3, 3] = .Black;  self[3, 4] = .White
        self[4, 3] = .White; self[4, 4] = .Black
    }
    // 指定されたマス目のコマを返す
    subscript(row: Int, column: Int) -> Piece? {
        get {
            checkSquare(row, column: column)
            return board[row * OthelloBoard.columns + column]
        }
        set {
            checkSquare(row, column: column)
            board[row * OthelloBoard.columns + column] = newValue
        }
    }
    // 位置の検証
    func checkSquare(row: Int, column: Int) {
        assert(row < OthelloBoard.rows && column < OthelloBoard.columns, "不正な位置")
    }
}

let board = OthelloBoard()
board[3, 5] = .Black

このコードの、subscriptのgetとsetの中でcheckSquareメソッドを実行していますが、なぜcolumnにラベル(外部名)が付いているのでしょうか?

checkSquareの定義のところでは、引数名だけでラベルは定義されていません。

しかし、getとsetの中でcheckSquareメソッドの、rowにラベルを付けたり、columnのラベルを外すとエラーがでます。

よろしくお願いします。