728x90 Kotlin17 코틀린의 스마트 캐스트(Smart cast)란? 코드를 작성하다 보면 형태를 바꿔야 하는 일이 굉장히 많습니다. 예를 들면 널 허용 타입의 변수를 사용하기 위해 변수의 뒤에 (.!!)를 지정해 주며 널 허용 타입이 아닌 기본 타입에서 제공하는 기능을 사용하는 등 굉장히 자주 형태를 변환해야 하는 경우가 생긴다. 하지만 이럴 때마다 프로그래머가 관리를 해주는 것은 굉장히 불필요한 일입니다. 따라서 코틀린에는 스마트 캐스트(Smart cast)라는 것이 있습니다. 짧게 설명하자면, 프로그래밍을 할 때 프로그래머가 모든 형태를 지정하지 않고도, 각 블록에 따라서 컴파일러가 알아서 캐스팅해 주는 것을 말합니다. 글로만 보자면 조금 이해하기에 어려움이 있을 듯하여 예제와 함께 살펴봅시다. 널 체크 코틀린을 사용할 때 널 허용 타입을 아무런 검사도 하지 않고 연.. 2023. 1. 21. 코틀린에서 null을 관리하는 방법 [Do it! 코틀린 프로그래밍] 코틀린은 변수를 사용할 때 반드시 값이 할당되어야 한다는 원칙이 있습니다. 만약 값이 할당 되지 않은 변수를 사용하면 코틀린에서 오류가 발생합니다. null이란? null이란 값이 없는 상태를 의미 합니다. 아직 값이 들어오지 않아 잘 모르는 상태 입니다. 코틀린에서 null 코틀린에서는 null 상태인 변수를사용하면 물음표(?) 기호를 사용하여 선업해야 합니다. 물론 해당 변수를 사용할 때에는 null을 검사하고 처리하는 방법까지 고려해야합니다. 또한 자료형을 변환시키는 방법도 있습니다. null 사용하기 그렇다면 null을 한 번 사용해보자 fun main() { var str1: String = "Hello Kotlin!!" str1 = null // 오류 null을 허용하지 않습니다. printl.. 2023. 1. 8. 코틀린의 자료형 [Do it! 코틀린 프로그래밍] 코틀린의 자료형은 참조형 자료형을 사용합니다. 보통 프로그래밍 언어의 자료형은 기본형 자료형과 참조형 자료형으로 구별합니다. 코틀린은 그중 참조형 자료형을 사용합니다. 기본형 자료형은 무엇이고, 참조형 자료형은 무엇일까요? 기본형(Primitive Data Type) 기본형은 가공되지 않은 순수한 자료형을 말하며 프로그래밍 언어에 내장되어 있습니다. 참조형(Reference Type) 참조형은 객체를 생성하고 동적 메모리 영역에 데이터를 둔 다음 이것을 참조하는 자료형을 말합니다. 자바에서는 int, long, float, double 등 기본형과 String, Date와 같은 참조형을 모두 사용합니다. 하지만 코틀린에서는 참조형만 사용합니다. 참조형으로 선언한 변수는 성능 최적화를 위해 코틀린 컴파일러.. 2023. 1. 8. 코틀린은 어떻게 실행될까 [Do it! 코틀린 프로그래밍] Hello World!라고 입력된 아주 간단한 내용입니다. 하지만 사실 여기에는 많은 내용이 들어있습니다. 앞으로 많은 것을 공부하게 될 것이기에 오늘은 프로젝트의 실행 원리에 대해 알아보겠습니다. 코틀린의 main() 함수 - 프로그램 실행 진입점 자바 같은 객체 지향 언어에서 프로그램을 실행하려면 최소한 하나의 클래스와 그 안에 main() 함수가 있어야 합니다. 하지만 코틀린은 선언할 클래스가 없는데도 불구하고 main() 함수와 print() 함수를 통해 콘솔에 문자열 "Hello World!"를 출력하고 있습니다. 어떻게 된 일일까요?? 우리가 작성한 코틀린 코드는 JVM에서 실행되며, main() 함수가 있는 파일 이름을 기준으로 자바 클래스가 자동으로 생성됩니다. 자동 생성된 자바 클래스는 .. 2023. 1. 1. Kotlin의 탄생 배경 코틀린(Kotlin)은 Intellij IDEA라는 통합 개발 환경으로 유명한 젯프레인즈(JetBrains)에서 개발된 언어입니다. 처음으로 코틀린이 발표되었을 땐 코틀린 언어가 안드로이드 앱을 개발할 수 있다는 것이 알려지며 많은 관심을 받았었죠. 여기에서 Intellij IDEA는 안드로이드 스튜디오의 기반이며 코틀린 언어를 공식적으로 지원하고 있습니다. 그러면 코틀린은 과연 어떤 용도로 만들어졌을까? Kotlin/JVM: 자바 가상 머신에서 동작하는 애플리케이션을 만들 수 있어요. Kotlin/JS: 자바스크립트로 웹 브라우저에서 동작하는 애플리케이션을 만들 수 있어요. Kotlin/Native: LLVM 컴파일러를 이용하여 여러 플랫폼을 타깃으로 하는 애플리케이션을 만들 수 있어요. 자바도 코틀린.. 2022. 11. 27. 이전 1 2 3 다음 728x90