더북(TheBook)

4.6 정리 문제

  1. 코틀린 클래스의 기본적인 구조를 설명하라. 자바 클래스와 비교하면 어떤 차이가 있는가?

 

  2. 주생성자란 무엇인가?

 

  3. 부생성자란 무엇인가? 클래스에 어떤 생성자(또는 생성자들)를 포함시킬지와 주생성자 외에 부생성자가 더 필요할지를 어떻게 결정하는가?

 

  4. 코틀린이 지원하는 멤버 가시성은 무엇인가? 자바의 가시성과 어떤 차이가 있는가?

 

  5. 내포된 클래스 중에서 내부 클래스와 비내부 클래스의 차이는 무엇인가? 각각에 해당하는 자바 클래스와는 어떤 차이가 있는가 비교하라.

 

  6. 함수 본문에서 클래스를 정의할 수 있는가? 정의할 수 있다면, 이렇게 정의한 클래스에는 어떤 제약이 있을까?

 

  7. 지연 초기화 메커니즘의 요지는 무엇인가? 널이 될 수 있는 프로퍼티 대신 lateinit 프로퍼티를 사용할 경우 어떤 장점이 있는가?

 

  8. 커스텀 프로퍼티 접근자란 무엇인가? 코틀린 접근자와 자바의 게터/세터를 비교하라.

 

  9. 클래스를 사용하는 클라이언트 입장에서 볼 때 실질적으로 val과 같은 역할을 하는 읽기 전용 프로퍼티를 val을 쓰지 않고 만들 수 있는가? 반대로 쓸 수만 있는 프로퍼티는 어떻게 만들 수 있을까?

 

10. lazy 프로퍼티를 사용해 지연 계산을 달성하는 방법은 무엇인가? lazylateinit 프로퍼티를 비교해보라.

 

11. 객체 선언이란 무엇인가? 코틀린 객체와 자바에서 일반적인 싱글턴 구현 패턴을 비교하라.

 

12. 클래스와 비교할 때 객체 선언은 어떤 제약이 있는가?

 

13. 일반 객체와 동반 객체의 차이는 무엇인가?

 

14. 코틀린 동반 객체와 자바의 static 내포 객체를 비교하라.

 

15. 자바의 익명 클래스에 해당하는 코틀린 기능은 무엇인가? 이런 코틀린 언어의 기능을 어떻게 사용할 수 있을까?

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.