왜 코틀린을 사용할까?

Dev.nuts·2021년 6월 21일
0

Kotlin

목록 보기
2/2

why? 코틀린?

1. 코틀린은 자바 플랫폼에서 돌아가는 새로운 프로그래밍 언어이다.

2. 코틀린은 간결하고 실용적이다.

3. 자바 코드와 상호운용성을 중시한다.

4. 코틀린은 기존 자바 라이브러리나 프레임워크와 함께 잘 동작하며, 성능도 자바와 비슷한 수준이다.

5. 대상플랫폼은 Server, Android 등 자바가 실행되는 모든 곳이다.

6. 코틀린의 주 목적은 현재 자바가 사용되고 있는 모든 용도에 적합하면서도 더 간결하고 생산적이며,

완전한 대체 언어를 제공하는 것이다.

7. 자바와 마찬가지로 코틀린도 정적 타입 지정언어이다.

정적 타입 지정이란? 모든 프로그램 구성 요소의 타입을 컴파일 시점에서 알 수 있고
프로그램 안에서 객체의 필드나 메소드를 사용할 때마다 컴파일러가 타입을 검증해준다는 뜻
동적 타입 지정이란? Groovy, JRuby가 대표적인 동적 타입 지정언어이다. 타입과 관계없이
모든 값을 변수에 넣을 수 있고, 메소드나 필드 접근에 대한 검증이 실행 시점에 일어나며,
그에 따라 코드가 더 짧아지고 데이터 구조를 더 유연하게 생성하고 사용할 수 있다.

8. 자바와 달리 코틀린에서는 모든 변수의 타입을 프로그래머가 직접 명시할 필요가 없다.

9. 정적타입의 장점?

  • 성능 : 실행 시점에 어떤 메소드를 호출할 지를 알아내는 과정이 필요 없으므로 메소드 호출이 더 빠르다.
  • 신뢰성 : 컴파일러가 프로그램의 정확성을 검증하기 때문에 실행 시 프로그램이 오류로 중단될 가능성이 적어진다.
  • 유지보수성 : 코드에서 다루는 객체가 어떤 타입에 속하는 지 알 수 있기 때문에 처음 보는 코드를 다룰 때도 더 쉽다.
  • 도구 지원: 정적타입 지정을 활용하면 더 안전하게 리팩토링 할 수 있고, 도구는 더 정확한 코드 완성
    기능을 제공할 수 있으며, IDE 의 다른 지원 기능도 더 잘 만들 수 있다.

10. 코틀린은 타입 추론을 지원하므로 직접 타입을 선언해야 함에 따라 생기는 불편함이 대부분 사라진다.

11. 코틀린이 기본적으로 null을 허용하지 않으며, null이 될 수 있는 타입을 지원한다. 이를 옵셔널이라 한다.

12. 함수형 프로그래밍의 핵심 개념
first-class 함수 란?
- 함수를 변수에 저장하거나 일반 값처럼 다룰 수 있다. 함수에서 새로운 함수를 만들어서 반환할 수 있다.
Immutability(불변성) :
- 함수형 프로그래밍에서는 일단 만들어지고 나면 내부 상태가 절대로 바뀌지 않는
불변 객체를 사용해 프로그램을 작성한다.
No side-effect(부수효과없음) :
- 입력이 같으면 항상 같은 출력을 내놓고 다른 객체의 상태를 변경하지 않으며,
함수 외부나 다른 바깥 환경과 상호작용하지 않는 순수 함수를 사용한다.

13. 함수형 스타일로 프로그램을 작성하면 생기는 유익점

- 간결성, 강력한 추상화, 다중 스레드를 사용해도 안전함, 또한 테스트를 하기 쉽다.
profile
40대에 은퇴해, 제주살이를 꿈꾸는 Fire족

0개의 댓글