Kotlin? 1
공부용으로 작성하고 있는 글입니다. 가독성이 떨어지지만 혹시나 틀린 부분이 있거나, 더 알려주실 수 있는 부분이 있으시다면 댓글로 피드백 해주시면 정말 감사하겠습니다.
프로젝트 진행에 앞서, Kotlin에 대한 기본 이론과 문법에 대해 정리해보고자 한다.
Kotlin 웹컴파일러
https://play.kotlinlang.org
Kotlin은 2016년에 나온 언어로, 자바를 보완하기 위한 언어이다.
자바로 개발 할 수 있는 것은 코틀린으로 개발 가능하다!
왜 Kotlin을 배워야 하는가?
-> 조금 더 편하고 쉽다!
다음은 Kotlin에서의 main함수이다.
fun main(args : Array<String>) {
print("Hello World")
}
-> 자바와 다른 점 : ;없다, System.out없다
-> 자바와 같은 점 : main 함수 사용한다.
-> fun은 function을 의미하는 예약어
fun sum(a: Int, b : Int) : Int {
return a+b
}
fun helloWorld() : Unit {
print("Hello World")
}
와 같이, sum은 함수명, a와 b는 매개변수명, 각 매개변수는 ,로 구분하고 :뒤에 매개변수 타입을 적어준다. ()뒤에는 :와 함께 반환형을 적어준다. 위의 함수들과 같이 리턴타입이 void면 생략 가능, 혹은 Unit으로 표기한다.
표현식으로 적으면
fun sum(a: Int, b:Int) = a+b
와 같이 나타낼 수 있다.
if문 표현식
fun max(a: Int, b:Int) = if (a>b) a else b
변수, 상수 선언 키워드 var, val
val a: Int = 1
val b = 2 //타입선언 안해줘도 컴파일러가 추론 가능하다.
val c = 3.14
val d: String
d = "필수로 있어야 하는 구문"
Null Safety? : Kotlin에서는 기본 변수에 null값을 허용하지 않는다!!
Kotlin에서는 변수에 값을 할당하는 것이 필수적이다. 그렇지 않으면 문법 에러가 발생한다.
만약 nullable(null값 허용)을 원하면 ?키워드와 함께 사용한다.
var a : Int? = null
좀 더 안전하게 null사용을 원하면 ?.(세이프콜), ?:(엘비스) 연산자와 사용 가능하다.
세이프콜 : null값이 발견되면 그대로 null값을 반환
엘비스 : 변수 값이 null이 아니면 왼쪽 식, null이면 오른쪽 식을 실행
var nullTrue: String? = null
var nullFalse: String? = "Hello World"
println("nullTrue: $nullTrue, length: ${nullTrue?.length ?:-1}")
println("nullFalse: $nullFalse, length: ${nullFalse?.length ?:-1}")
//실행 결과
nullTrue: null, length: -1
nullFalse: Hello World, length: 11
!!연산자
val mNotNull= "str"!!
val upper = mNotNull.toUpperCase()
print(upper)
!!으로 mNotNull이 절대 null값이 아님을 알려준다. 하지만, 확실히 null이 아닌이상 지양하는 것이 좋다.
var은 variable, 말 그대로 변할 수 있는 수
val은 value, 변하지 않는 값.
var은 재할당이 가능하지만, val에는 재할당이 불가하다.
Kotlin에도 자바와 같이 Byte, Short, Int, Long의 정수형 변수타입과 Float, Double과 같은 실수형 변수 타입, 그 외 Char, String, Boolean같은 변수 타입이 존재한다.
String 템플릿
val name = "Yeong Seo"
print("my name is $name I'm 25")
이때, my name is Yeong Seo. I'm 25로 붙여서 출력하고 싶다면
val name = "Yeong Seo"
val lastName = "Yoon"
println("my name is ${name}. I'm 25")
print("my name is ${name + lastName} I'm 25")
와 같이 대괄호를 작성해 사용한다. 변수는 +를 통해 이어쓰기 가능하다.
$표시를 풀력하고 싶으면 자바와 같이 \를 사용한다.
print("this is 2\$a")
Author And Source
이 문제에 관하여(Kotlin? 1), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@l1127xpla/Kotlin1저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)