Kotlin

· Kotlin
1. 객체지향 프로그래밍은 알겠는데, 객체는 모른다? 컴퓨터공학을 전공하신 분들이라면, 또는 자바나 C++과 같은 프로그래밍 언어를 공부하신 분들이라면 객체지향 프로그래밍이 무엇인지 모르시지는 않을 것입니다. 절차지향 프로그래밍과 반대되는, 프로그램의 설계를 객체라는 개념을 토대로 바라보는 관점이 바로 객체지향 프로그래밍입니다. 하지만 많은 개발자들이 객체지향 프로그래밍을 하고 있으면서도, 객체가 무엇인가?라는 질문에 대해 명확한 대답을 할 수 있는 사람은 드뭅니다. 저 또한 그러한 사람 중 한 명이었고, 우아한테크코스에서 공부하며 제가 아직도 객체가 무엇인지, 심지어 객체지향 프로그래밍이 무엇인지조차 모르고 있었다는 사실을 깨닫게 되었습니다. 그래서 객체란 무엇인지 한 번 제대로 짚고 넘어갈 필요가 있..
· Kotlin
객체지향 프로그래밍을 해 본 사람이라면 프로퍼티와 필드가 무엇인지 모르시는 분들은 아마 없을 거라고 생각합니다. 클래스 내부에 존재하여, 객체의 상태를 나타내는 멤버 변수를 프로퍼티, 혹은 필드라고 부르게 되지요. 프로퍼티(property)라는 단어는 영어로 재산, 혹은 특성 정도의 의미를 지니고 있으니, 클래스의 멤버 변수를 프로퍼티라고 부르는 이유도 납득이 갑니다. 하지만 프로퍼티와 필드의 차이를 정확하게 알고 계시는 분은 의외로 적을 거라고 생각합니다. 두 개념이 비슷한 개념이기도 하고, 거의 동의어처럼 혼용해서 사용하시는 분들도 많은 것 같습니다. 저 또한 두 개념의 차이를 공부해도 이해가 잘 가지 않아 '뭐 거의 같은 거겠지' 하고 생각해 왔습니다. 그러다가 제가 지금 다니고 있는 우아한테크코스..
· Kotlin
맵 사용 중 Type mismatch 오류 코틀린에서 자주 사용하게 되는 자료구조인 Map을 사용하다가, 다음과 같은 문제가 발생할 때가 있습니다. val myMap: Map = mapOf("a" to 1, "b" to 2) var myInt: Int = 0 myInt += myMap["a"] Map 타입의 myMap 안의 value를 myInt에 더해주고 싶은데, 이렇게 작성하면 다음과 같이 Type mismatch오류가 발생합니다. 분명 myMap의 value는 정수 타입인데, 타입이 맞지 않는다고 합니다. 왜일까요? 그것은 바로 myMap["a"]의 타입이 Int가 아니라 Int?이기 때문입니다. Int와 Int?의 차이는? Int?는 nullable Int를 의미합니다. nullable이란 'nu..
Alsong
'Kotlin' 카테고리의 글 목록