일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 자바 공부
- 데이터모델링과마이닝
- react
- 리액트
- react firebase
- 프로그래밍 언어론
- useEffect
- 프로그래머스 완전탐색
- 코딩테스트 고득점 Kit
- websocket
- design pattern
- react hook
- React JS
- 자바스크립트
- 백준
- 프로그래머스 자바
- useState
- 프로그래머스
- vanillaJS
- 디자인 패턴
- 코틀린
- codesandbox
- 자바
- JavaScript
- 리액트 훅
- 코딩테스트 고득점 Kit 완전탐색
- Java
- NextJS
- 장고
- 컴퓨터 네트워크
- Today
- Total
기록하는 개발자
Kotlin(코틀린)(Intelli J) #1 변수 본문
Kotlin 공부 기록을 시작헌다!
Intelli J를 사용하고 있으며 공부는 독학으로 공식 사이트를 참조하며 영어 공부도 동시에 한다..
https://kotlinlang.org/docs/reference/basic-syntax.html
우선 Kotlin 에서는 클래스나 함수, 변수 이름을 지정할 때 아래와 같은 방법을 선호한다고 한다.
*클래스 이름
-모든 단어 대문자로 시작하는 파스칼 표기법 ex)ClassName
*함수나 변수 이름
-첫 단어만 소문자로 시작하는 카멜 표기법 ex)functionName
1.type
자바와 동일하게 사용되며 다른 점은 모두 대문자로 시작
ex) Double, Int, Long, Short, Byte, String
-변수 이름 variable 뒤에 콜론을 통해 타입을 기입한다. ex) val A: Int=3
-문장 뒤에 세미 콜론은 사용하지 않음
#Type Check
-타입 체크는 Any와 is로 이루어진다.
any
-자바에서의 object와 같은 역할로 코틀린에서 모든 인스턴스의 최상위 타입이다.
자바의 object의 지원 범위 | toString, equals, hasCode, wait, notify |
코틀린의 Any의 지원 범위 | toString, equals, hasCode |
is / !is
-자바의 instanceof와 같은 역할로 리턴값은 true, false이다.
1
2
3
4
5
|
//type checking
fun getStringLength(obj: Any): Int? {
return null
}
http://colorscripter.com/info#e" target="_blank" style="color:#4f4f4ftext-decoration:none">Colored by Color Scripter
|
2. 변수
-변수는 두 가지 방법으로 선언 한다.
1)var ->값 초기화 가능 ex)var b:Int=5
2)val ->값 초기화 불가능 ex)val v:Int=5
#변수의 원형
Var <propertyName(변수명)>[: <PropertyType(변수 타입)] [= <property_initializer(초기값)>]
[<getter>]
[<setter>]
*val : getter만 가능(값 초기화가 불가능하므로 setter 사용 불가능)
*var : getter, setter 모두 가능
-PropertyType(변수 타입)생략 시 property_initializer(초기값)이 정확히 선언되어야 함
-property_initializer(초기값) 생략(null)시 PropertyType(변수 타입)이 정확히 선언되어야 함
#변수는 선언 위치에 따라 두가지 이름으로 불림(이건 나중에 자세히)
1)클래스에 선언된 경우 : Property(속성)
2)이 외의 Scope 내에 선언된 변수 : Local Variable(지역 변수)
Java | Kotlin |
모든 변수가 null 값을 가질 수 있음 |
모든 변수는 null 허용x 허용을 위해서는 물음표를 추가해야함 |
String s="a"; s=null; |
var s : String ?="a" s=null |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
fun parseInt(str: String): Int? {
//...
}//for using '?', return value can be Int type or null
fun printProduct(arg1: String, arg2: String) {
val x = parseInt(arg1)
val y = parseInt(arg2)
if (x != null && y != null) println(x * y)
else println("'$arg1' or '$arg2' is not a number")
}//function which return nullable value(means no return value)
}
http://colorscripter.com/info#e" target="_blank" style="color:#4f4f4ftext-decoration:none">Colored by Color Scripter
|
<Type 생략 가능> Val variable: Double=123.5을 val variable=123.5 이라고 할 수 있음 단, val a=null 인 경우 Nothing/Void를 사용하여 아래와 같이 타입이 없음을 명시 --------------------------------- val variable: Nothing? = null Void variable=null; ---------------------------------- |
-Nothing이나 Void 를 사용하면 null이라 지정은 가능하지만
기본 타입으로 형변환을 할 수 없기 때문에
위처럼 타입없이 null로 지정된 variable 변수는 메모리만 차지하고 있는 쓸모 없는 변수
1
2
3
4
5
6
7
8
9
10
|
fun main() {
var a:Int=1 //mutable integer type variable a
var b:Char='c' //mutable character type variable b
val v:Int=5 //val means immutable variable
val c=2 //set c with immutable value + automatical type setting
val d=23.5 //same with above
val e="String" //same with above
}
http://colorscripter.com/info#e" target="_blank" style="color:#4f4f4ftext-decoration:none">Colored by Color Scripter
|
'Kotlin' 카테고리의 다른 글
Kotlin(코틀린)(Intelli J) #6 Basic-화면 입력, 파일 입력 (0) | 2020.02.09 |
---|---|
Kotlin(코틀린)(Intelli J) #5 Basic-2 (연산자 종류, if 문, 라벨 사용법) (0) | 2020.02.06 |
Kotlin(코틀린)(Intelli J) #4 Basic-1 (0) | 2020.02.01 |
Kotlin(코틀린)(Intelli J) #3 IDIOMS (0) | 2020.02.01 |
Kotlin(코틀린)(Intelli J) #2 반복문, 범위 표현 (2) | 2020.01.19 |