코틀린에서 연산자를 다루는 방법

박경희·2025년 3월 20일
0

강의 복습 및 정리

목록 보기
35/40

1. 기본 연산자

단항 / 산술 / 대입 연산자

  • 자바와 동일하게 작동

  • +, -, *, /, %, ++, --, =, +=, -=


2. 비교 연산자 (>, <, >=, <=)

사용법은 Java와 동일
하지만 객체 비교 시 compareTo() 함수를 자동 호출하여 처리한다는 점이 다르다!

val money1 = JavaMoney(2_000L)
val money2 = JavaMoney(1_000L)

if (money1 > money2) {
    println("Money1이 Money2보다 금액이 큽니다.")
}
// JavaMoney 클래스 내부 (Java 코드)
public class JavaMoney implements Comparable<JavaMoney> {
    private final long amount;

    @Override
    public int compareTo(@NotNull JavaMoney o) {
        return Long.compare(this.amount, o.amount);
    }
}
  • money1 > money2 를 쓰면 자동으로 compareTo 호출된다.

3. 동등성 vs 동일성

구분의미Kotlin 연산자
동등성값이 같은가?==equals() 호출
동일성참조(주소)가 같은가?===

4. 논리 연산자

val isAdult = true
val hasID = false

if (isAdult && hasID) {
    println("입장 가능")
}
  • &&, ||, ! : 자바와 동일

  • Lazy evaluation(단축 평가)도 동일하게 적용됨


5. 특수 연산자

연산자설명
in, !in컬렉션, 범위에 값이 포함되는지 확인
a..ba부터 b까지 범위 객체 생성
a[i]인덱스 접근
a[i] = b인덱스 값 변경
val list = listOf(1, 2, 3)

println(2 in list)       // true
println(5 !in list)      // true
println(1..5)            // 1부터 5까지

6. 연산자 오버로딩

Kotlin은 연산자를 객체 내부에서 operator 키워드를 통해 직접 정의할 수 있다.

operator fun plus(other: Money): Money {
    return Money(this.amount + other.amount)
}
val result = money1 + money2  // plus 연산자 오버로딩 호출됨
  • 산술, 비교, 할당, 인덱스 연산 등 대부분 커스터마이징 가능하다.

참고- 자바 개발자를 위한 코틀린 입문(Java to Kotlin Starter Guide)

0개의 댓글