본문 바로가기

Kotlin

(14)
👋Kotlin : 7️⃣결과를 만들어 낼 수 없는 경우 null과 failure를 사용 코틀린은 2010년에 처음 개발되었지만 2016년 2월에 첫 번째 안정 버전(stable version)이 공식적으로 배포되었을 정도로 굉장히 오랜 시간 동안 만들어지고 있고, 처음부터 대규모 애플리케이션을 실용적으로 만들기 위한 프로그래밍 언어로 설계되었고 현재는 모바일 애플리케이션, 웹 애플리케이션의 백엔드, 웹 애플리케이션의 프론트엔드 등 다양한 영역에서 활용되고 있습니다. 7️⃣null과 Failure 사용으로 결과 부족 해결 메서드가 원하는 결과를 만들어 낼 수 없는 경우, 예외를 throw하거나 null 또는 실패를 나타내는 sealed 클래스를 리턴하는 방법이 있습니다. 코틀린의 모든 *unchecked 예외이기 때문에 예외를 처리하지 않을 수 있습니다. 예외는 예외적인 상황을 처리하기 위해..
👋Kotlin : 6️⃣사용자 정의 오류 보다는 표준 오류를 사용 코틀린은 2010년에 처음 개발되었지만 2016년 2월에 첫 번째 안정 버전(stable version)이 공식적으로 배포되었을 정도로 굉장히 오랜 시간 동안 만들어지고 있고, 처음부터 대규모 애플리케이션을 실용적으로 만들기 위한 프로그래밍 언어로 설계되었고 현재는 모바일 애플리케이션, 웹 애플리케이션의 백엔드, 웹 애플리케이션의 프론트엔드 등 다양한 영역에서 활용되고 있습니다. 6️⃣표준 오류 사용을 권장 require, check 등의 함수를 사용해 대부분의 오류를 처리할 수 있지만, 이외에도 예외 상황을 나타내야 하는 경우가 있습니다. 예를들어 음식점의 업무 처리에서 주문한 음식에 대한 재료 소진에 대한 예외가 표준 라이브러리에서 제공하는 예외가 없다고 판단하여 사용자 정의 예외를 사용했다고 합시다..
👋Kotlin : 5️⃣예외를 활용해 코드에 제한을 걸어라 코틀린은 2010년에 처음 개발되었지만 2016년 2월에 첫 번째 안정 버전(stable version)이 공식적으로 배포되었을 정도로 굉장히 오랜 시간 동안 만들어지고 있고, 처음부터 대규모 애플리케이션을 실용적으로 만들기 위한 프로그래밍 언어로 설계되었고 현재는 모바일 애플리케이션, 웹 애플리케이션의 백엔드, 웹 애플리케이션의 프론트엔드 등 다양한 영역에서 활용되고 있습니다. 5️⃣예외를 통한 코드 제한 확실하게 동작해야 하는 코드가 있는 경우 예외를 통해 코드에 제한을 주는 것이 좋습니다. require() : 매개변수에 제한을 걸 수 있고, 제한을 만족하지 못하면 예외 던집니다. check() : 상태와 관련된 동작에 제한을 걸 수 있고, 제한을 만족하지 못하면 예외 던집니다. assert() :..
👋Kotlin : 4️⃣Inferred(추론된) 타입으로 리턴하지 말라 코틀린은 2010년에 처음 개발되었지만 2016년 2월에 첫 번째 안정 버전(stable version)이 공식적으로 배포되었을 정도로 굉장히 오랜 시간 동안 만들어지고 있고, 처음부터 대규모 애플리케이션을 실용적으로 만들기 위한 프로그래밍 언어로 설계되었고 현재는 모바일 애플리케이션, 웹 애플리케이션의 백엔드, 웹 애플리케이션의 프론트엔드 등 다양한 영역에서 활용되고 있습니다. 4️⃣ Inferred 타입 제한 코틀린의 타입 추론(type inference)은 코틀린의 특징 중 하나이지만 타입 추론을 사용할 때는 몇 가지 위험한 부분들이 있기 때문에 잘 못 사용해선 안됩니다. 이러한 위험을 피하기 위해선 할당 시 inferred 타입은 절대로 슈퍼클래스 또는 인터페이스로 설정되지 않고 할당하려는 값에 ..
👋Kotlin : 3️⃣최대한 플랫폼 타입 사용을 제한하라 코틀린은 2010년에 처음 개발되었지만 2016년 2월에 첫 번째 안정 버전(stable version)이 공식적으로 배포되었을 정도로 굉장히 오랜 시간 동안 만들어지고 있고, 처음부터 대규모 애플리케이션을 실용적으로 만들기 위한 프로그래밍 언어로 설계되었고 현재는 모바일 애플리케이션, 웹 애플리케이션의 백엔드, 웹 애플리케이션의 프론트엔드 등 다양한 영역에서 활용되고 있습니다. 3️⃣ 플랫폼 타입 사용 제한 코틀린은 null-safety 매커니즘으로 NPE(Null Posinter Exception)을 찾아보기 힘들지만, null-safety 매커니즘이 없는 자바와 코틀린을 연결해서 사용할 때는 예외가 발생할 확률이 높아집니다. 자바에서 @Nullable Type은 nullable로 추정해 Type?으..
👋Kotlin : 2️⃣변수의 스코프 최소화 코틀린은 2010년에 처음 개발되었지만 2016년 2월에 첫 번째 안정 버전(stable version)이 공식적으로 배포되었을 정도로 굉장히 오랜 시간 동안 만들어지고 있고, 처음부터 대규모 애플리케이션을 실용적으로 만들기 위한 프로그래밍 언어로 설계되었고 현재는 모바일 애플리케이션, 웹 애플리케이션의 백엔드, 웹 애플리케이션의 프론트엔드 등 다양한 영역에서 활용되고 있습니다. 2️⃣ 변수의 스코프 최소화 변수와 프로퍼티의 스코프는 최소화하는 것이 좋습니다. 프로퍼티 보다 지역 변수를 사용하는 것이 좋습니다. 최대한 좁은 스코프를 가지도록 변수를 사용합니다. (ex : 반복문 내부에서만 변수가 사용될 시, 변수를 반복문 내부에 정의하는 것) 요소의 스코프라는 것은 요소를 볼 수 있는 컴퓨터 프로그램 영..
👋Kotlin : 1️⃣가변성을 제한하라 코틀린은 2010년에 처음 개발되었지만 2016년 2월에 첫 번째 안정 버전(stable version)이 공식적으로 배포되었을 정도로 굉장히 오랜 시간 동안 만들어지고 있고, 처음부터 대규모 애플리케이션을 실용적으로 만들기 위한 프로그래밍 언어로 설계되었고 현재는 모바일 애플리케이션, 웹 애플리케이션의 백엔드, 웹 애플리케이션의 프론트엔드 등 다양한 영역에서 활용되고 있습니다. 1️⃣ 가변성 제한 var 프로퍼티 또는 mutable 객체 사용 시 상태(state)를 가질 수 있게 됩니다. 예를들어 계좌의 잔고처럼 변경될 수 있는 상태를 가지는 경우 상태의 변경으로 인한 단점이 생깁니다. 프로그램을 이해하고 디버그하기 힘들다. 코드의 실행을 예측하기 힘들다. 멀티스레드 프로그램일 땐 충돌 방지를 위한 동..
Kotlin : enum class, companion object, const val enum class란 무엇인가? enum이란 열거형으로 서로 연관된 상수들의 집합을 의미하며, 상수를 정의할 때 발생하는 문제를 보완하기 위해 탄생했습니다. enum class의 장점 : 코드 단순화, 인스턴스 생성과 상속 방지로 상수값의 타입 안전성을 보장, enum을 통한 구현 의도를 쉽게 파악할 수 있습니다. enum class RESPONSE_STATE { OK, FAIL, } -------------------------------- RESPONSE_STATE.OK 위 코드를 보면 알 수 있듯이 RESPONSE_STATE라는 class에 OK, FAIL이란 상수를 정의하여, 사용이 가능합니다. companion object란 무엇인가? 자바에서의 static method처럼 Kotlin에선 co..