반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
Tags
- 스나이퍼팩토리
- 정보처리기사
- node.js
- php개발
- Kotlin
- ios
- 그림으로 배우는 서버구조
- 코틀린
- Flow
- 변수
- 조건문
- jquery
- script
- php변수
- 서버
- node
- express
- Eclipse
- java
- 플러터
- Flutter
- php
- 스터디
- 이클립스
- Coroutine
- android
- SwiftUI
- kotlininaction
- 설치
- kotlin2.0
Archives
- Today
- Total
mygomii
[Kotlin] 2.1 기본 요소 : 함수 변수 본문
반응형
2.1.1 첫 번째 코틀린 프로그램 작성
fun main() {
println("Hello World!")
}
- 함수를 선언할 때 fun 키워드 사용
- 코틀린은 간결성을 강조
- 세미클론(;)을 붙이지 않는다.
2.1.2 파라미터와 반환값이 있는 함수 선언
fun max(a: Int, b: Int): Int {
return if (a > b) a else b
}
- max 는 함수이름
- (a: Int, b: Int) 는 파라미터
- Int 는 반환타입
- return if (a > b) a else b 함수 본문
💡 문(statement)과 식의 구분
코틀린에서는 if는 식이지 문이 아님, 식은 값을만들어내며 다른 식의 하위 요소로 계산에 참여할 수 있는 반면, 문은 자신을 둘거싸고 있는 가장 안쪽 블록의 최상위 요소로 존재하면 아무런 값을 만들어내지 않는다는 차이가 있음.
2.1.3 식 본문을 사용해 함수를 더 간결한게 정의
fun max(a: Int, b: Int): Int = if (a > b) a else b
- 위의 형태는 *식 분문 함수(expression body function)*이라고 부른다
모든 함수는 반환 타입이 정해져야 함, 하지만 위 본문 함수의 경우 굳이 반환타입을 적지 않아도 컴파일러가 함수 본문 식을 분석해서 식의 결과 타입을 함수 반환 타입으로 정해줌 ⇒ 이런 분석을 ‘타입 추론’ 이라 부름
2.1.4 데이터를 저장하기 위해 변수 선언
코틀린에서 변수 선언은 키워드(val 또는 var)로 시작하고 그 뒤에 변수이름이 옴, 그리고 변수 이름 뒤에 타입을 명시할 수 있음
val question: String = "이건 질문이다"
2.1.5 변수를 읽기 전용 변수나 제대입 가능 변수로 표시
val 는 value에서 가져옴, 읽기 전용 참조(read-only reference)를 선언. val로 선언된 변수는 단 한 번만 대입할수 있음 (자바에서는 final)
var 는 variable에서 가져옴, 제대입 가능한 참조(reassignable reference) 선언, 초기화가 이뤄진 다음이라도 다른 값을 대입할 수 있음
2.1.6 더 쉽게 문자열 형식 지정 : 문자열 템플릿
fun main() {
val name = "고미정"
println("Hello $name") // <= 이렇게 간단하게 사용 가능
}
kotlin 2.0 기준입니다.
반응형
'Kotlin' 카테고리의 다른 글
[Kotlin] 3.1 코틀린에서 컬렉션 만들기 (0) | 2025.03.19 |
---|---|
[Kotlin] 2.5 코틀린에서 예외 던지고 잡아내기 (0) | 2025.03.12 |
[Kotlin] 2.4 대상 이터레이션: while과 for 루프 (0) | 2025.03.11 |
[Kotlin] 2.3 선택 표현과 처리 : enum과 when (0) | 2025.03.10 |
[Kotlin] 2.2 행동과 데이터 캡슐화 : 클래스와 프로퍼티 (1) | 2025.03.06 |