본문 바로가기
Kotlin

Kotlin - 시작하기

by WangTak 2022. 4. 2.
반응형

졸업 전에 안드로이드를 개인적으로 공부하면서 코틀린을 알게 되었고(3년 전이네요) 싸피 교육을 받으면서 "Do it 코틀린 프로그래밍""Udemy 강의"를 구입하여 취미로 코틀린을 공부했습니다. 그때 공부한 이후로 최근까지 실무에서 자프링을 사용했기에 코틀린과는 좀 멀어졌습니다. 그런데 최근 코틀린/스프링(코프링)으로 새로운 프로젝트를 시작하는 기업이 많아지면서 저를 포함한 자바/스프링(자프링)을 사용하는 백엔드 개발자분들의 코틀린 학습 의지와 관심이 생겼을 거라 생각이 됩니다.

 

그래서 이번에는 그때 당시 책과 인터넷 강의로 공부했던 내용의 일부인 코틀린의 장점, Hello World 출력 및 메모리 구조에 대해 정리해보려 합니다. 

 

코틀린의 장점

1. 자료형 오류를 미리 잡을 수 있는 정적 언어

컴파일될 때 자료형을 검사하여 확정하는 정적 언어, 자료형 오류를 초기에 발견할 수 있어서 프로그램의 안정성이 좋아진다.

2. 널 포인터 예외(Null Pointer Exception)로 인한 프로그램의 중단을 예방

NPE =>
언제 어디서 어떻게 발생할지 아무도 알 수 없는 에러.
오랫동안 프로그래머의 골치를 아프게 만든 주범.
코틀린은 널 포인터 예외를 예방 | "NPE에서 자유롭다"

3. 아주 간결하고 효율적

여러 가지 생략된 표현이 가능한 언어 ... ex) lambda, return 생략 etc..

4. 함수형 프로그래밍과 객체 지향 프로그래밍이 모두 가능

함수를 변수에 저장하거나 함수를 다른 함수의 매개변수로 넘길 수 있는 함수형 프로그래밍과 클래스를 사용하는 객체 지향 프로그래밍을 둘 다 할 수 있다.
=> "다중 패러다임 언어", "멀티 패러다임 언어"

5. 세미콜론을 생략

줄 마지막에 사용하던 세미콜론(;)을 생략 가능

 

위와 같은 장점을 이유로 최근 코프링으로 새로운 프로젝트를 시작하는 거 같습니다.

(물론 위 장점 말고도 기업마다 바라보는 코틀린의 매력이 더 있지 않을까 생각이 됩니다. 이 부분은 코프링을 실무에서 사용해보면서 느껴봐야 알 수 있을 거 같습니다.)

 

그럼 프로그래밍 언어를 배울 때 치르는 연례행사와 같은 "Hello World"를 찍는 코드를 소개하고 언제나 인지하고 있으면 좋을 메모리 영역에 대한 설명을 끝으로 "Kotlin 시작하기"를 마무리해보도록 하겠습니다.

 

Hello World 출력하기

fun main(args: Array<String>) {
    println("Hello World")
}
// or
fun main() {
    println("Hello World")
}

 

코드에서 보시면 세미콜론(;)이 없는 것을 확인하실 수 있습니다. 뿐만 아니라 메인 함수의 모양이 기존 자바에서 사용하던 메인 함수와 다른 것을 알 수 있습니다. 앞으로 함수의 사용이라던지 다양한 내용을 포스팅하도록 하겠습니다.

 

메모리 영역

- 코드 영역 (Code)

개발자가 작성한 소스코드가 들어가는 부분.
즉, 실행할 프로그램의 코드가 저장되는 영역, 텍스트 영역이라고도 함

- 데이터 영역 (Data)

전역 변수 혹은 정적 변수, 문자열 등이 들어가는 정적 메모리 영역
=> 실행 중에 오류가 날 가능성이 적다

- 힙 영역 (Heap)

실행 중에 생성된느 객체 => 동적 메모리 영역

- 스택 (Stack)

코드 블록인 { } 안에 사용한 변수나 함수 호출 블록은 임시로 쓰이는 스택 메모리 영역에 들어감

 

 

반응형

'Kotlin' 카테고리의 다른 글

Kotlin - 함수 다루기  (0) 2022.08.31
Kotlin - 변수와 자료형, 연산자  (1) 2022.04.06