데이터 클래스(Data Class) 코틀린의 데이터 클래스(Data Class)는 데이터를 다루는데 최적화된 클래스로 equals(), hashCode(), toString(), copy(), componentN() 5가지 유용한 함수들을 내부적으로 자동으로 생성해준다. 이 함수들은 코딩에서 캡슐화를 위해 필수적이지만 자바에서 사용할 때 코드를 생성해줘야하는 번거로움이 있다. IDE로 쉽게 생성할 수 있는 단순 노동이긴 하지만 개발자들은 이마저도 귀찮다.. 자바로 클래스를 구현할때는 아래처럼 getter&setter를 포함하여 여러 생성자들을 만들어줘야한다. 하지만 데이터 클래스는 이러한 불필요 작업을 제외시킬 수 있기에 편리하게 사용된다. public class OfficeWorker { private..
혹시라도 IntelliJ를 설치하지 않았다면 아래 링크를 참고해서 설치해보자. Mac 에서 IntelliJ 설치하기 : [Mac] Mac에서 IntelliJ 설치하기 1. IntelliJ를 실행하자 2. New Project 클릭 3. 왼쪽에서 부터 Java 클릭 → Java SDK 1.8 버전 선택 → Kotlin/JVM → Next 순으로 클릭 코틀린은 자바랑 상호작용 할 수 있고 자바 라이브러리도 사용할 수 있어 JVM에서 실행 가능하다. JAVE_HOME 경로 기본설정이 되어 있는 JDK를 선택해주자. 본인은 무료인 OpenJDK 1.8 버전을 이용중이다. 4. 프로젝트의 경로 선택 → 프로젝트 이름을 입력 → Finish 5. 프로젝트가 생성된 화면이 나타날 것이다. 프로젝트 이름 밑에 src ..
개발을 하다보면 변수를 선언할때 초기에 값이나 상태를 정의하기 어려워 null로 선언하는 경우나, 필요한 시점에 초기화를 해야하는 경우가 있을것 이다. 자바와 같은 고전적인 언어들은 변수가 선언된 후 초기화되지 않으면 기본값으로 초기화 되거나 값이 할당되지 않았다는 표시로 null 값을 가지게 된다. 하지만 코틀린은 변수 선언 당시에 초기화를 할 것을 권고하고 있으며, 실제로도 변수 선언 당시에 초기화를 하지 않거나 nullable 타입으로 만들어주지 않으면 컴파일 에러가 발생한다. nullable 타입으로 선언해도 코틀린에선 null 초기화 사용을 추천하고 있진 않다. 그럼 초기에 선언해서 사용하는 변수가 아니라 늦게 초기화를 해야하는 경우는 어떻게 해야할까? 코틀린에선 늦은 초기화, 초기화 지연을 할..
코틀린은 자바와 다르게 Null 타입을 Nullable과 Non-Nullable 로 구분하며, 기본적으로 객체를 Non-Nullable 타입으로 보장하기 때문에 null을 사용해야하는 상황에는 null 체크를 포함하는 연산자를 사용해줘야 한다. Nullable 변수로 속성이나 함수를 사용할때는 null 체크를 안 하면 NullPointerException이 발생하게 된다. java에서는 null 체크를 할때 주로 if문이나 equals 구문을 사용했지만, 코틀린에서는 Nullable 연산자로 좀더 쉽게 Null 체크가 가능하다. Nullable types Null 객체를 선언할때 변수 타입 옆에 ? 를 붙이면 Null 사용이 가능하도록 할당할 수 있고, ?가 붙지 않으면 Non-Nullable로 Null..