반응형
모든 내용은 Do it! 코틀린 프로그래밍을 바탕으로 정리한 것입니다.
코틀린(Kotlin)의 탄생 배경
코틀린은 JetBrains에서 개발한 언어
- Kotlin/JVM
- JVM(Java Virtual Machine)
- 자바 애플리케이션이나 안드로이드 어플리케이션을 만들 수 있음
- Kotlin/JS
- JS(JavaScript)
- 데이터베이스부터 서버, 클라이언트까지 다루는 풀스택 웹 개발이 가능
- Kotlin/Native
- LLVM 컴파일러를 통해 애플 iOS, 맥 iOS, 안드로이드, 윈도우, 리눅스, 웹 전용 환경의 코드를 만들 수 있음
- 안드로이드와 iOS에서 모두 구동하는 어플리케이션을 만들 수 있음
- 임베디드, IoT 등을 타깃으로 한 어플리케이션을 만들 수 있음
코틀린의 장점
- 자료형 오류를 미리 잡을 수 있는 정적 언어
- 프로그램이 컴파일될 때 자료형을 검사하여 확정하는 언어 → 자료형 오류를 초기에 발견할 수 있음 (안정성)
- NULL 포인터 예외(NPE)로 인한 프로그램의 중단을 예방할 수 있음
- 아주 간결하고 효율적임
- 함수형 프로그래밍과 객체 지향 프로그래밍이 모두 가능함 == 다중 패러다임 언어
- 세미콜론을 생략할 수 있음
코틀린 환경 세팅
책에서는 Java 8 버전을 사용했지만, 이미 Java 11 버전을 사용하고 있었으므로 11 버전으로 진행함
그 외의 내용은 이미 인텔리제이와 안드로이드 스튜디오 코틀린을 사용하고 있었으므로 생략함
프로젝트 뜯어보기
코틀린의 main() 함수는 프로그램 실행의 진입점
→ main() 함수가 있는 파일 이름을 기준으로 자바 클래스가 자동 생성됨
[Tools > Kotlin > Show Kotlin Bytecode] 메뉴에서 [Decomplie] 버튼을 눌러 확인 가능
HelloWorldKt 클래스에 속한 멤버 메소드로 선언되어 있음
→ JVM에 실행되기 위해 문자열은 String var0으로 선언되었고, System.out.println()에 의해 콘솔에 출력
public static final void main(String[] var0)
- public : 외부 어디에서도 접근이 가능함
- static : 정적 메소드 (정적 메모리 영역에 객체가 만들어지므로 객체의 생성 없이 호출 가능)
- final : 최종 메소드
- void : 메소드 반환값이 없음
fun main(args: Array<String>){
// String[] args로 변환됨
}
반응형
'Kotlin > Kotlin 프로그래밍' 카테고리의 다른 글
[Kotlin] 클래스와 객체 (2) (0) | 2021.04.19 |
---|---|
[Kotlin] 클래스와 객체 (1) (0) | 2021.04.16 |
[Kotlin] 프로그램의 흐름 제어 : 조건문, 반복문, 예외처리 (0) | 2021.04.14 |
[Kotlin] 함수와 함수형 프로그래밍 (3) - 코틀린의 다양한 함수 (0) | 2021.04.13 |
[Kotlin] 함수와 함수형 프로그래밍 (2) - 고차함수와 람다식 (0) | 2021.04.07 |
[Kotlin] 함수와 함수형 프로그래밍 (1) (0) | 2021.04.02 |
[Kotlin] 변수와 자료형, 연산자 (2) (0) | 2021.04.02 |
[Kotlin] 변수와 자료형, 연산자 (1) (0) | 2021.03.31 |
댓글