더북(TheBook)

이런 대입 연산은 복합 대입 연산의 대상이 되는 변수에 대해 이항 연산자가 쓰일 수 있을 때만 가능하다.

자바 vs. 코틀린 자바와 달리 코틀린 대입은 문(statement)이다. 따라서 아무 값도 돌려주지 않는다. 이로 인해 코틀린에서는 자바의 a = b = c와 같은 대입문 연쇄를 쓸 수 없다. 이런 식의 연쇄적인 대입문이 필요한 경우도 드물고, 쓰다가 실수하기도 쉽기 때문에 코틀린에서는 이런 대입을 금지한다. 복합 대입 연산도 마찬가지다.

변수 값을 변경할 수 있는 연산이 두 가지 더 있다. 바로 증가(++)와 감소(--) 연산이다. 이 연산의 가장 분명한 용례는 수 값을 1씩 증가시키거나 감소시키는 것이다. 자바와 마찬가지로 두 연산자를 전위(prefix)나 후위(postfix) 연산자로 쓸 수 있다.

var a = 1
println(a++) // a는 2, 1이 출력됨
println(++a) // a는 3, 3이 출력됨
println(--a) // a는 2, 2가 출력됨
println(a--) // a는 1, 2가 출력됨

위 예제를 보면 전위와 후위 연산이 모두 값을 변경하지만, 전위 연산의 결과는 변경된 이후의 새 값이고, 후위 연산의 결과는 변경되기 전 값이다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.