#3 [Kotlin] 이점 및 파일구성

정상준·2022년 10월 28일
0

kotlin

목록 보기
3/26
post-thumbnail

코틀린으로 개발하면 자바보다 이점

  1. 표현력과 간결함

  2. 안전한 코드 객체지향 프로그래밍에서 객체는 널 상태일 수 있으며 이때 런타임 오류인 널 포인트 예외가 발생할 수 있는데 코틀린은 변수를 널 허용과 널 불허용으로 구분해서 선언할 수 있다.

  3. 상호 운용성 : 코틀린은 자바와 100%호환 되며 하나의 앱을 개발할 때 자바와 코틀린을 혼용해도 된다.

  4. 구조화 동시성 : 코틀린 언어가 제공하는 코루틴이라는 기법을 이용하면 비동기 프로그래밍을 간소화할 수 있다.

코틀린 파일 구성

package : 컴파일했을 때 만들어지는 클래스 파일의 위치

변수와 함수는 자바와 다르게 클래스 안뿐 아니라 클래스 밖에도 선언할 수 있다. 그리고 어떤 파일에 선언한 멤버를 다른 코틀린 파일에서 참조할 때 두 파일을 같은 package로 선언했다면 import 없이 사용할 수 있다. 또한 클래스 밖에 선언된 함수와 변수는 컴파일 과정에서 파일명.class로 묶이게 된다.

변수 선언 : val : 초깃값 할당되면 바꿀 수 없음, var : 초깃값이 할당된 후에도 변경 가능

형식 : val 변수명 : 타입 = 값

타입은 추론 가능하면 생략 가능 ex) val data : int = 1 or val data = 1

최상위에 선언한 변수나 클래스의 멤버 변수는 선언과 동시에 초깃값 할당해야 하며, 함수 내부에 선언한 변수는 초깃값 할당 안 해도 댐

초깃값 할당을 미루고 싶으면 lateinit이나 lazy를 사용함. lateinit의 경우 var키워드만 가능하며 Int,Long, Short, Double, Float, Boolean, Byte 타입에는 사용 불가

lazy는 변수 선언문 뒤에 by lazy{ } 형식으로 선언하며, 소스에서 변수가 최초로 이용되는 순간 중괄호로 묶은 부분이 자동으로 실행되어 그 결괏값이 변수의 초깃값으로 할당댐. lazy 문의 중괄호 부분을 여러 줄로 작성한다면 마지막 줄의 실행 결과가 변수의 초깃값이 댐.

profile
안드로이드개발자

0개의 댓글