2.2 코틀린의 기초 / 클래스와 프로퍼티

자바와 코틀린 코드 비교
자바

public class Person{
 private final String name;
 
 public Person (String name){
  this.name=name;
 }
 public String getName(){
   return name;
 }
}

코틀린

class Person(val name: String)

확실히 코틀린이 코드 길이가 간결하다.

2.2.1 프로퍼티

클래스 개념 목적 : 데이터를 캡슐화하고 캡슐화한 데이터를 다루는 코드를 한 주체 아래 가두는 것.

class Person(
    val name: String,
    var isMarried:Boolean
    
)

위의 name 부분은 읽기 전용 프로퍼티로, 코틀린은 (비공개) 필드와 필드를 읽는 단순한 (공개) 게터를 만들어낸다.
아래의 isMarried 부분은 쓸 수 있는 프로퍼티로, 코틀린은 (비공개) 필드, (공개) 게터, (공개) 세터를 만들어낸다.

읽기 전용 property -> getter만 선언
mutable property -> getter 와 setter 모두 선언

값을 저장하기 위한 -> 비공개 필드
그 필드에 값을 저장하기 위한 -> 세터
필드의 값을 읽기 위한 -> 게터

val person=Person("Jacob",true)
println(person.name)
println(person.isMarried)

첫째줄 -> new 키워드를 사용하지 않고 생성자를 호출
두세번째 줄 -> 프로퍼티 이름을 직접 사용해도 코틀린이 자동으로 게터를 호출해준다.

좋은 웹페이지 즐겨찾기