| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
- env사용
- frontend
- 앱사용자행동추적
- 앱사용자추적
- git방식
- JavaScript
- 파이썬 코테 함수
- 파이썬코테함수정리
- 앱개발기능추가
- 앱에 팝업띄우기
- CSS
- 깃 충돌시
- 깃 충돌 해결방법
- dev
- 파이썬 코테준비
- 깃 꼬였을 때
- HTML
- 환경변수사용
- 앱개발
- 프론트엔드
- 백엔드
- kotlin
- 코테준비
- Python3
- 개발자
- 위키피디아검색창
- Git협업
- It
- 깃협업
- 코틀린
- Today
- Total
zooooss
[Kotlin] 코틀린 기초 지식(1) 본문
- var과 val의 차이점
코틀린에서의 변수는 크게 var과 val로 나누어집니다.
val : 중복 변경 불가
var : 중복 변경 가능
val은 변하지 않는 값!이며 var은 변화하는 변수라고 생각하면 이해하기 쉽다.
- 타입추론
우리가 입력한 값에 따라 추론하여 자동으로 타입을 결정해주는 것이다. (*꼭 값을 넣어야만*)
ex) var Sunny = true 의 Sunny는 자동으로 boolean타입으로 설정됩니다.
- 스트링 템플릿 $
print구문에 마우스를 가져다대면 템플릿으로 변환하기 버튼이 나타나는데,
여러가지 스트링을 더하는 대신에 한 개의 스트링을 이용한 하나의 구문으로 바뀌게 됩니다.
방법 1. $변수명
방법 2. ${} 중괄호로 묶어주기 ex) ${MyStr.length} 하나의 구문으로 처리됩니다.
- toInt() 메소드
두 변수의 타입이 맞지않을 때, 타입을 통일시켜주는 메소드입니다.
ex)
var a = 5.0
var b = 7
result = (a + b).toInt()
- When 표현식
C, C++, C#, Java 등의 프로그래밍 언어에서 사용되는 switch문이 대체된 것입니다.
ex)
var season = 3
when(season){
1 -> println("Spring")
...
4 -> println("Winter")
else -> println("Invalid Season")
}
ex)
in 3..5 -> println("Spring")
12, 1, 2 -> println("Winter")
!in 0..20 -> println("...")
- for문
사용법1
for(num in 1..10){
print("$num")
}
사용법2
for(i in 1 until 10){
print("$i ")
}
사용법3
for(i in 10 downTo 1){
print("$i ")
}
사용법4 (2간격으로)
for(i in 10 downTo 1 step 2){
print("$i ")
}
- break
for 루프를 끝내거나 반복 실행을 더이상 하지 않겠다는 것을 의미합니다.
break가 실행되면 루프에서 빠져나오게 됩니다.
- continue
for 루프 안의 코드를 건너뛰고 다음 단계로 넘어가는 것을 의미합니다.
- 함수
fun addup(a: Int, b: Int) : Int{
return타입도 정의가 가능함.
}
매개변수와 인수의 차이에 유의!해야합니다!
매개변수는 함수 정의에 이용 / 인수는 메인함수에서 해당함수를 사용할 때 이용합니다.
- Method와 함수의 차이
Method는 클래스 안의 함수입니다.
- Nullable(코틀린(자바) 단어!!)
null 타입이라는 것 ! 변수가 null을 값으로 갖게 해줍니다.
var name : String = "Mary"
// name = null -> Compilation ERROR
var nullableName : String? = "Mary" //여기에서 Mary대신 시작부터 null을 넣는 것도 가능
nullableName = null
물음표를 넣는 것이 nullableName의 관건 ! ! ! 입니다.
변수가 null이 아니라면 프린트하도록
println(nullableName?.toLowerCase())
안전한 호출 연산자 let으로 할 수 있음
nullableName?.Let { println(it.length) }
이 코드는 물음표, 점, let, 그리고 중괄호에 null이 아닌 경우에만 실행할 코드를 넣음!
값이 있을 때에만 실행!
결국 if else문을 빠르게 실행하는 방법이기도 함!
- 엘비스 연산자
엘비스 연산자를 사용해 nullableName의 값을 정해줍니다.
물음표, 콜론을 넣어 널러블이 빈칸이면 디폴트 값인 Guest를 넣는거고, 아니라면 원래 값을 넣습니다!
var nullableName : String? = "Denis"
val name = nullableName ?: "Guest"
println("name is $name")
이러면 Denis 값이 프린트 됩니다.
- Not-null 연산자
느낌표 두 개를 사용하여 nullable 타입을 Not-null 타입으로 변경합니다.
nullableName!!.toLowerCase()
//toLowerCase는 소문자로 바꿔주는 메소드
println(nullableName!!.toLowerCase())
denis가 출력됨
체인의 안전한 호출 연산자 사용 방법?
var wifesAge: String? = user?.wife?.age ?: 0
// 체인에 안전한 호출을 써서 user, wife, age가 비어있는 값인지 null인지 확인!
// null이면 값을 0으로 정함 !
'STUDY > App' 카테고리의 다른 글
| [Reactive Native] 캐시(Cache) 설계 - 크롤링 주기 설정(속도 최적화) (0) | 2025.12.03 |
|---|---|
| [React Native] 북마크 기능 개발(AsyncStorage) (4) | 2025.11.13 |
| [React Native] 안드로이드 앱과 구글 시트 연동(vscode로 개발) (0) | 2025.11.03 |
| [React Native] apk 개발 환경 구축하기(vscode에서) (0) | 2025.11.03 |
| [Kotlin] 코틀린 기초 지식(2) (2) | 2023.11.13 |