일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 돌연변이 테스팅
- cli 만들기
- IntelliJ
- 개인블로그 hugo
- Convariance
- kotlin
- 객체지향
- output stream
- 코틀린 in
- Test
- 코틀린
- standard output
- Java
- 코틀린 노트북
- resize image with go
- Mutation testing
- resizer 구현
- MySQL
- hugo 로 블로그
- 코틀린 out
- JPA
- 공짜블로그
- image resizer with go
- ruby
- Pitest
- standard input
- InnoDB
- change refresh rate
- 의존성역전원칙
- 자바
- Today
- Total
Rlog
Kotlin 변수 선언 본문
배달의 민족으로 이직하게 되면서 이동하게 되는 팀에서 내년까지 100% 코틀린 마이그레이션이 목표라고 한다.
그래서 코틀린을 공부해야 하는 상황이다.
코틀린은 많이 해본적이 없어서 공부하며 나오는 내용들을 정리하려고 한다.
(지금 까지 느낌은 TypeScript 와 무언가 많이 비슷하다..)
변수선언
자바에서는 변수를 선언할때 Type 이 가장 앞에 온다.
예를 들면 아래와 같은 코드와 같은 형태일 것 이다.
Person person = new Person
위 코드 처럼 자바에서는 Person 이라는 Type 이 가장 앞에오며, person 이라는 변수가 Person Type 임을 알려준다.
하지만 코틀린에서는 Type 이 변수 뒤에 온다.
예를 들면 코틀린에서의 코드는 아래와 같다.
val person: Person = Person();
뭐 둘다 앞에 있냐 뒤에 있냐의 차이다. 그렇게 큰 차이는 아니다.
예전에 요즘 언어들이 왜 오른쪽으로 변수 타입을 적는지 궁금해서 알아본적이 있었는데, 어떤 연구결과에 따르면 오른쪽에 두는게 더 사람한테 잘 읽힌다는 연구결과가 있었다는 걸 봤었던것 같다. (어디까지나 제가 본것이기때문에, 틀린 것일 수 있습니다.)
val (value)
val 은 Javascript 의 const 와 같이 변경 불가능한 참조를 저장하는 변수이다. 자바로치면 final 을 생각하면 된다.
그래서 val 인 변수에 대입하려고 하면 아래와 같이 오류가 나게된다.
그래서 변경 불가능한 값에는 val 을 사용해주어야 한다.
var (variable)
var 는 변경 가능한 참조다.
var 가 붙어있는 변수의 값은 항상 바뀔 수 있다.
자바에서 final 을 안붙인 일반 변수와 똑같다고 보면 된다.
사실 Type 을 오른쪽에 명시를 안해줘도 되는데 나는 TypeScript 를 할때도 왠만해서 명시적으로 지정해주는걸 좋아해서 붙였다.
그러니 안붙이고 싶은 사람들은 안붙여도 된다.
코틀린 짧은 후기
오늘 코틀린 변수에 대해 공부해보고 더 공부중인데, 무언가 모던한 느낌이 든다.
'?' 로 nullable 처리또한 그렇고, TypeScript 와 살짝 비슷한거 같아 문법을 익히는데는 빨리 익힐 수 있을 거 같다는 생각이 들었다.
'Kotlin' 카테고리의 다른 글
[Mac] Kotlin 설치 및 CLI 에서 사용하기 (0) | 2021.12.06 |
---|---|
Kotlin Null 처리 (0) | 2021.11.18 |
Kotlin JPA - 상속 관계 맵핑 (0) | 2021.11.17 |
Kotlin JPA (0) | 2021.11.16 |
Kotlin object (0) | 2021.11.15 |