클래스 설계는 타입 설계와 같다. 새로운 타입을 정의하기 전에 몇 가지 고려사항을 점검해 보자. 클래스 설계는 타입 설계 여느 객체 지향 프로그래밍 언어처럼, C++에서 새로운 클래스를 정의한다는 것은 새로운 타입을 정의하는 것과 같다. C++ 개발을 한다는 것은 타입을 새로 만드는 일과 같으며 함수와 연산자를 오버로드하고, 메모리 할당 및 해제를 제어하며, 객체 초기화 및 종료처리를 정의하는 작업 모두 관리해 주어야 한다. 좋은 클래스를 설계하는 것은 꽤 어렵다. 문법이 자연스럽고, 의미구조가 직관적이며, 효율적인 구현이 가능해야 한다. 성능 또한 무시할 수 없는 부분이다. 다음은 좋은 클래스를 설계하기 위해 고려해 볼 사항 몇 가지이다. 새로 정의한 타입의 객체 생성 및 소멸은 어떻게 이루어져야 하는..
타입
Basic Types 코틀린에서 모든 것은 객체이다. 모든 것에 멤버 함수나 프로퍼티를 호출 가능하다. 숫자 Java의 숫자형과 거의 비슷하다. 하지만 Java에서 숫자형이던 char가 kotlin에서는 숫자 형이 아니다. Double: 64bit Float: 32bit Long: 64bit Int: 32bit Short: 16bit 리터럴 underscore를 사용하여 리터럴을 표현할 수 있다. val oneMillion = 1_000_000 val creditCardNumber = 1234_5678_1234_5678 긴 숫자들을 헷갈리지 않고 사용할 수 있을 것 같다. Representation Java 플랫폼에서 숫자형은 JVM primitive type으로 저장된다. Nullable이나 제네릭의 ..