티스토리 뷰
1. 자바와의 차이점
- 코틀린에서는 함수를 선언할 때 fun 키워드를 사용한다.
- 파라미터의 타입을 뒤쪽에 써준다. 변수를 선언할 때도 마찬가지로 파라미터의 뒤에 타입을 작성한다.
- 함수를 최상위 수준에 정의할 수 있다. 꼭 클래스 안에 함수를 넣을 필요가 없다.
- 배열도 일반적인 클래스와 마찬가지이다. --> Array() 클래스를 사용한다.
- System.out.println --> println 만 쓴다. 이는 자바를 간결하게 사용할 수 있게 감싼 코틀린 래퍼(Wrapper)를 제공하기 때문이다.
- 세미콜론이 필요없다!
2. 함수
* 작성 방법
fun max(a: Int, b: Int) : Int { return if ( a > b ) a else b } |
- max 가 함수이름, 괄호 안의 a, b가 파라미터 목록, 가장 뒤의 Int가 반환타입이다.
- 여기서 주목할 점은 if 문인데, 코틀린에서는 if가 식이다. 그 이유는 값을 만들어 내며, 다른 식의 하위 요소로 계산에 참여할 수 있기 때문이다. 이를 이용해, 다른 식과 같이 엮어내어 여러 일반적인 패턴을 아주 간결하게 표현할 수 있다.
* 위의 함수를 더욱 간단하게 코딩이 가능하다.
fun max(a: Int, b: Int) : Int = if ( a > b ) a else b fun max(a: Int, b: Int) = if ( a > b ) a else b |
- if가 식의 역할을 함과 동시에 값을 만들어 내기 때문에 'return'을 따로 쓸 필요없이 등호(=)로 대체가 가능하다.
- 2번째 함수와 같이 반환타입을 생략할 수도 있다. 2번째와 같이 작성하더라도 컴파일러에서 본문 식을 분석하여 식의 결과 타입을 함수 변환 타입으로 정해준다. 이를 타입추론(type Inference)라고 한다. 다만, 식이 본문인 경우에만 생략이 가능하다.
3. 변수
1) val(value) : 변경 불가능한 참조를 저장하는 변수이다. 초기화하고 나면 재대입이 불가능하다. 자바에서는 final 변수이다.
- 기본적으로는 모든 변수를 val로 선언하라. 나중에 필요한 경우 var로 변경하는것이 좋다.
- 블록을 실행할 때 정확히 한 번만 초기화 되어야 한다. 오직 한 초기화 문장만 실행됨을 컴파일러가 확인할 수 있다면, 조건에 따라 val 값을 여러 값으로 초기화할 수도 있다.
- 참조 자체는 불변일지라도 객체 내부의 값은 변경될 수 있다.
2) var(variable) : 변경 가능한 참조이다. 변수의 값이 바뀔 수 있고, 자바의 일반 변수와 같다.
- 변수의 값은 변경할 수 있지만, 변수의 타입은 고정돼 바뀌지 않는다.
'Android > Kotlin' 카테고리의 다른 글
[Kotlin] 앱 실행 상태 체크하기(백그라운드 상태 체크) (0) | 2023.03.30 |
---|---|
[Kotlin] ViewPager2 사용법 (0) | 2020.08.18 |
[Kotlin] 코틀린 개발을 쉽게! Anko 라이브러리 사용하기 (0) | 2019.09.23 |
[Kotlin] Null 가능성 (0) | 2019.09.20 |
코틀린 시작하기 (0) | 2019.09.04 |
- Total
- Today
- Yesterday
- Android
- 격파르타 합격후기
- IOS
- 코틀린
- 자바
- rotation
- 격파르타 후기
- 음성재생
- ~=
- 아이폰
- 변수
- 아이폰앱개발
- Kotlin
- Xcode
- 스위프트
- sqld 자격증 합격
- Java
- 격파르타 장점
- 버전카타로그
- NoAnimation
- 함수
- dart
- rotate
- Swift
- .toml
- gem update
- toml
- 연산자
- 안드로이드
- FLUTTER
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |