자바 대 코틀린
Java - 객체지향언어. 클래스로부터 객체를 생성하면 객체끼리 상호작용을 통해 작동한다. - JVM이 설치되었다면 어떤 머신에서든 구동이 가능 - Thread 클래스를 통한 멀티스레딩 - 포인터 개념이 없으며 Garbage collect 기능으로 할당된 메모리 중 사용하지 않는 메모리를 자동으로 OS에 돌려준다. - Dynamic loading을 사용하면 시작시 코딩된 모든 클래스를 메모리에 적재하는 것이 아니라 필요한 시점에 적재가능 - 타입 추론 불가능 : 타입을 명세해주지 않으면 컴파일 시 에러 - Null 참조시 에러 발생 (컴파일시 Null 타입 참조 에러 NullPointerException) Kotlin - Java보다 간결한 코드 작성 스타일 - .KT 코틀린 파일은 변환을 지원하는 IDE에서 .java코드로 변환 가능. Java에 비해 어떤 부분이 간소화되었는지 확인 가능하다. - 객체지향, 함수형 프로그래밍으로 프로그램 작성 가능. - 타입 추론 가능 - Null 할당이 가능한 타입을 설정가능 - 모든 타입이 class 타입이다. Java와 Kotlin의 공통점 - Java와 동일하게 JVM위의 바이트코드를 통해 실행된다. - 정적 타입 언어 - 멀티 플랫폼언어 - 객체지향 프로그래밍