++ 코틀린 ++
- 코틀린은 젯브레인스(JetBrains)에서 오픈소스 그룹을 만들어 개발한 프로그래밍 언어
- 2017년 구글에서 안드로이드 공식 언어로 지정
- JVM에 기반을 둔 언어
- 최신 언어 기법을 이용 -> 훨씬 간결한 구문으로 프로그램을 작성 가능
- 코틀린은 null safety을 지원하는 언어
- 코틀린은 자바와 100% 호환
- 코루틴coroutines이라는 기법을 이용하면 비동기 프로그래밍을 간소화할 수 있음
==> 자바언어에서 정말 간략화되었다!
실습 #1
초기화면.
empty로 선택해서 프로젝트 생성
프로젝트 이름은 Test로 했고, 언어는 Kotlin으로 설정했다.
자파 패키지 - 오른쪽 마우스(우클릭) - New - Kotlin Class/File
Test 입력하고 엔터
생성된 Test 파일에
코드 입력
클래스는 따로 명시하지 않아도 괜찮다.
package com.example.test
fun main() {
println("hello world")
}
해당 파일 (Test.kt) 우클릭 - Run 'TestKt'
하면 밑에 hello world가 뜰 수 있다.
위의 초록색 화살표
실행된 모습
- 테스트할 코틀린 소스 파일에는 main() 함수가 있어야함
- 실행하면 main() 함수가 자동으로 실행됐다가 끝나면 프로그램 종료
실습 #2
package com.example.test
import java.util.*
fun main() {
println("hello world")
data = 20
println(formatData(Date()))
User().sayHello()
}
Test.kt
package com.example.test
import java.text.SimpleDateFormat
import java.util.*
var data = 10
fun formatData(date: Date): String {
val sdformat = SimpleDateFormat("yyyy-MM-dd")
return sdformat.format(date)
}
class User {
var name = "hello"
fun sayHello() {
println("name: $name")
}
}
User.kt
-- 결과 --
변수 선언형은 var
상수 선언형은 val
함수 선언시
fun 함수명(파라미터명: 파라미터변수형): 함수리턴형 {...}
클래스의 함수를 사용할때 호출하는 방법
클래스명().사용할함수명()
클래스명뒤에 괄호를 넣어주어야한다.
main문에서 날짜관련문을 println()안에 넣어주었고,
yyyy-MM-dd로 바꿔줌
변수 옆에 :자료형 을 넣으면
변수가 지정형으로 바뀌어 해당 자료형의 변수만 넣을 수 있다.
상수는 꼭 처음 선언시 초기화를 완료해주어야한다.
타입 지정과 타입 추론
변수명 뒤에는 콜론(:)을 추가해 타입을 명시
대입하는 값에 따라 타입을 유추(타입 추론)할 수 있을 때는 생략
초기화 미루기
- lateinit키워드 : 이후에 초기값을 할당할것이다 명시적으로 선언
- lateinit은 var 키워드로 선언한 변수에만 사용가능
(Int, Long, Short, Double, Float, Boolean, Byte 타입에는 사용할 수 없음)
package com.example.p7
//lateinit var data1: Int
//lateinit val data2: String
lateinit var data3:String
val data44: Int by lazy {
println("in lazy........")
10
}
fun main() {
println("in main.......")
println(data44 + 10)
println(data44 + 10)
}
LateinitEx.kt
코틀린은 null 사용가능하지만 따로 공간을 설정해주어야한다.
var data2: Int? = null 이런식으로
'Kotlin' 카테고리의 다른 글
Kotlin #6 : 상속과 클래스 230217 (0) | 2023.02.20 |
---|---|
Kotlin #5 : 객체지향 프로그래밍 230216 (0) | 2023.02.17 |
Kotlin #4 : 예외처리 230216 (0) | 2023.02.16 |
Kotlin #3 : 기본 연산자, 비트 연산자, 변수와 함수, 반복문, 조건문, 람다식 230213 (0) | 2023.02.15 |
Kotlin #2 : 변수, 함수, null, 세이프콜, 엘비스 연산자, 스마트 캐스트 230213 (0) | 2023.02.13 |
댓글