코틀린에서는 소스 파일의 이름을 그 안에 들어있는 공개 클래스 이름과 똑같이 만들 필요가 없다. 한 파일 안에 여러 공개 클래스를 넣을 수도 있다. 그러나 만약 어떤 파일 안에 클래스가 하나만 들어있다면 보통은 클래스 이름과 파일 이름을 같게 한다. 하지만 코틀린에서는 이런 식으로 이름을 짓는 방식이 (자바와 달리) 엄격한 요구 사항이 아니라 단지 취향의 문제다.
클래스 프로퍼티는 지역 변수와 마찬가지로 불변일 수 있다. 하지만 이런 경우 초기화를 하는 동안 프로퍼티의 값을 지정할 수단이 있어야 한다. 그렇지 않다면 모든 클래스가 같은 프로퍼티 값을 사용하게 된다.
class Person { // 생성자로 초기화할 방법이 없으면 모든 클래스가 // firstName에 대해 같은 값을 사용하게 됨 val firstName = "John" }
커스텀 생성자를 사용하면 이런 초기화가 가능하다. 다음 절의 주제가 바로 커스텀 생성자다.