이 장에서는 코틀린의 객체지향 프로그래밍을 맛보고, 클래스를 사용해 우리들만의 타입을 정의하는 방법을 배운다. 클래스 인스턴스 초기화, 가시성을 사용해 구현 상세 사항을 감추는 방법, 객체 선언을 통해 싱글턴을 구현하는 방법, 지연 계산, 지연 초기화, 커스텀 게터 세터를 통한 읽기 쓰기 기능 제어 등 여러 종류의 프로퍼티를 활용해 간단한 데이터 저장을 넘어서 다양한 기능을 제공하는 방법을 배운다. 이 장의 내용과 관련해 배워야 할 다른 내용으로는 타입의 널 가능성이 있다. 코틀린 컴파일러는 널이 될 수 있는 값과 그렇지 않은 값을 타입의 널 가능성을 활용해 구분한다.
배우는 내용
• 클래스 정의와 멤버
• 생성자
• 멤버 가시성
• 내포된 클래스와 지역 클래스
• 널이 될 수 있는 타입
• 단순하지 않은 프로퍼티를 사용하는 방법
• 객체와 동반 객체
이 장의 목표
클래스와 객체를 사용하는 코틀린 객체지향 프로그래밍의 기본을 익히고, 널이 될 수 있는 값을 처리하는 법을 배운다. 또한, 여러 유형의 프로퍼티를 사용하는 방법을 이해한다.