본문 바로가기
Android/Kotlin

[Kotlin,Java] 자바와 코틀린에서의 프로퍼티 선언 방식의 차이점 설명

by quessr 2024. 4. 21.

 

자바와 코틀린 모두에서 프로퍼티는 클래스의 상태를 나타내는 중요한 구성 요소이다.

그러나 코틀린은 프로퍼티를 선언하고 사용하는 방법에서 자바에 비해 더 단순하고 강력한 기능을 제공한다.

 

자바에서의 프로퍼티 생성

자바에서는 프로퍼티를 만들기 위해 필드(변수)와 그 필드를 접근하기 위한 getter 및 setter 메소드를 명시적으로 선언해야 한다.

 

java

public class Person {

    private String name; // 필드

    // Getter

    public String getName() {
        return name;
    }

    // Setter

    public void setName(String name) {
        this.name = name;
    }
    
}

 

코틀린에서의 프로퍼티 생성

코틀린에서는 필드, getter, setter를 한 줄의 코드로 간결하게 표현할 수 있다.

코틀린 컴파일러는 자동으로 백링 필드와 접근자 메소드를 생성흔다.

 

kotlin

class Person(var name: String)

 

 

위의 코틀린 코드는 자바의 예제와 동일한 기능을 수행하지만, 훨씬 간결하다.

var 키워드는 가변 프로퍼티를 의미하며, val 키워드는 읽기 전용 프로퍼티를 나타낸다.

코틀린에서는 var로 선언된 프로퍼티에 대해 자동으로 getter와 setter를 생성하고, val로 선언된 프로퍼티에 대해서는 getter만 생성한다.

 

차이점 요약

  • 자바에서는 프로퍼티를 위해 필드와 그 필드의 접근자인 getter와 setter를 명시적으로 선언해야 한다.
  • 코틀린에서는 프로퍼티를 간단하게 선언하며, 컴파일러가 필요한 필드와 접근자 메소드를 자동으로 생성한다.

코틀린의 프로퍼티 선언 방식은 코드를 더욱 간결하고 읽기 쉽게 만들며, 자바에 비해 개발자의 생산성을 크게 향상시킨다.