Kotlin 언어 주요 특징😜

siwan·2021년 10월 20일
0

코틀린 언어란

목록 보기
1/4

코틀린은 자바가 실행되는곳 모든 플랫폼에 적용이 가능.

  • 대표적으로 서버(spring), 안드로이드 플랫폼 적용가능

정적 타입 지정 언어

  • 자바와 마찬가지로 코틀린도 정적타입 언어(객체의 필드나 메소드를 사용 할때 컴파일러가 타입을 입증)
  • 코틀린은 자료형을 명시 할 필요 없이 변수 타입을 자동으로 유추 가능. (타입 추론)
   var count = 0
  • 정적 타입 지정의 장점

    1. 성능 : 실행 시점에 어떤 메소드를 호출 할지 알아내는 과정이 필요 없으므로 메소드 호출이 더 빠름
    2. 신뢰성 : 컴파일러가 정확성을 검증하기 떄문에 프로그램 오류로 중단될 가능성이 적어짐
    3. 유지 보수성 : 객체가 어떤 타입인지 알 수 있기 때문에 코드 다룰 때도 쉬워짐
    4. 도구 지원 : 도구(IDE,Web)를 통해 정확한 코드 완성을 제공해줘 더 안전하게 리팩토링이 가능하다.

함수형 프로그래밍 이용

  • 일급객체 함수: 함수를 일반 값처럼 다룰 수 있다.

    일급객체 함수 조건 :
    1.함수를 변수에 저장할 수 있음.
    2.함수를 인자로 다른 함수에 전달 할 수 있어야함
    3.함수에서 새로운 함수를 만들어서 변환 가능.

  • 불변성 : 함수가 만들어지면 내부 상태가 절대로 바뀌지 않는 불변 객체를 사용해 프로그램을 작성한다.

  • 부수 효과 없음 : 입력이 같으면 항상 같은 출력을 내놓고 다른 객체의 상태를 변경하지 않고, 함수 외부나 다른 바깥 환경과 상호작용하지 않는 순수 함수를 이용 한다.

  • 함수형 프로그래밍의 장점 :

    1. 간결성 : 함수를 값처럼 활용할 수 있으며 더 강력한 추상화를 할 수 있고 이를 사용 해 코드 중복을 막을 수 있다.
    2. 다중 스레드를 사용해도 안전하다 : 불변 데이터 구조를 사용하고 순수 함수를 데이터 구조에 적용한다면 같은 다중 스레드 환경에서 같은 데이터를 여러 스레드가 변경 할 수 없음. 따라서 복잡한 동기화를 적용하지 않아도 된다.
    3. 테스트 용이 : 부가적인 함수 없이 순수함수로 독립적으로 테스트가 가능하다.

   -순수 함수 예시-
   fun findAlice() = findPerson{it.name =="Alice"} 
   fun findBob() = findPerson{it.name =="Bob"}
   

무료오픈소스

  • 코틀린 언어와 컴파일러, 라이브러리 및 코틀린 관련된 모든 도구는 무료로 이용이 가능하고 아파치2 라이선스하에 제공 된다. 개발은 github을 통해 이뤄지고 있으며, 인텔리 제이, 이클립스 같은 오픈소스 IDE를 활용 할 수 있다.
profile
station3 다방 안드로이드 개발자

0개의 댓글