코틀린에서 숫자가 아닌 객체에 대해서도 + - * / 등의 연산을 하는 경우를 보았을 것이다. 또한 컬렉션도 배열도 아닌 타입이 [] 로 프로퍼티에 접근한다든지 하는 것도 보았을 것이다. 예를들면 컴포즈에서 사용하는 Offset 클래스이다. (본 글이 어떤 Offset 이 어떤 클래스인지 논하는 글은 아니므로 Offset 은 x, y 라는 프로퍼티를 가지고 있고 있는 클래스라는 것에 집중한다.) 아래와 같이 Offset 끼리 연산해서 새로운 Offset 을 만드는 예시를 살펴보자 Offset(1f, 2f) + Offset(2f, 3f) 위 연산이 가능한 이유는 Offset 클래스가 plus 라는 이름의 특별한 메서드를 정의했기 때문이다. operator fun plus(other: Offset): Off..