본문 바로가기

코틀린

(6)
[코틀린] 자바&코틀린 라이브러리 검색 코틀린에 사용할 라이브러리를 다운로드하여야 하는데, 자바나 코틀린이나 사용해 본 적이 거의 없어서 삽질을 했다. npm 사이트처럼 라이브러리 정보가 모여 있는 사이트가 있는지 찾다가 대략 2개 정도의 사이트를 알게 되었다. https://repo1.maven.org/maven2/org/ Central Repository: org repo1.maven.org 파일이 저장되어 있는 저장소 그 자체로 보인다. 참고로 org 폴더 이전으로 나가면 대부분의 파일이 2005년을 기점으로 업데이트가 멈춰 있다. 2005년을 기점으로 org 폴더에만 업데이트 하기로 한게 아닐까 생각된다. spring 등을 ctrl + f로 검색하면 jar 파일이나 POM 같은 것을 얻을 수 있다. 근데 이렇게 검색하는 것은 리눅스에서..
[Kotlin] 상속 코틀린의 open, final 키워드는 클래스 상속 및 메서드/프로퍼티 오버라이딩을 결정하는 데 사용된다. open : 상속 / 오버라이딩 가능 final : 상속 / 오버라이딩 불가 클래스와 프로퍼티에 어떤 키워드도 설정하지 않는 경우 기본 값은 public final 로, 외부에 개방되지만 상속 및 오버라이딩은 불가능한 상태가 된다. 보통 프로그래밍 언어들은 기본적으로 상속을 허용하는데, 코틀린은 기본값으로 상속을 허용하지 않는다는 점이 특징적이다. Any class 코틀린의 모든 클래스는 Any 클래스를 조상으로 가진다. C#이나 Java의 Object 클래스와 매우 유사하다. https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/ Any - Kotl..
[Kotlin] 생성자 코틀린의 클래스는 3가지 구성 요소가 있다. class name : 클래스 이름 class header : type parameter, primary constructor class body : 클래스의 프로퍼티나 함수 등을 정의하는 몸체 3가지 구성요소 중 클래스 이름만 있어도 선언이 가능하다. 이때 몸체의 경우 { } 로 감싸진 부분을 의미하므로 클래스의 몸체가 없으면 괄호도 필요 없다는 것이 특징적이다. 대략 이런게 가능하다. class Something // 몸체 없이 클래스 생성 가능 Constructor 생성자는 2가지가 존재한다. Primary Constructor : 클래스 헤더에 위치하는 생성자. init 함수를 통해 값을 초기화한다. Secondary Constructor : 클래스 바..
[Kotlin] control flow Condition expressions 대중적으로 많이 사용하는 언어들은 조건을 검사할때 조건문 ( Conditional Statement ) 을 사용한다. 그러나 코틀린은 러스트처럼 조건문 대신 조건식 ( Conditional Expression ) 을 이용한다. 이때 문장 ( Statement ) 과 표현식 ( Expression ) 은 다음과 같다. Statement : 특정 명령을 실행하거나 지시하는 코드 조각 단위 Expression : 값으로 평가될 수 있는 코드 조각 단위 조건의 검사에 표현식을 사용하는 경우, 조건의 결과를 값으로써 사용할 수 있다는 장점이 있다. 또한 표현식은 문장에 포함되므로 꼭 값으로 평가되지 않아도 상관 없다. 즉, 조건의 분기에 더해 값으로써의 역할을 추가적으로 수..
[Kotlin] 기본 타입 코틀린에서 지원하는 타입들은 통상적으로 Java의 것을 따라간다. Numbers : 숫자 Integer Float Booleans : 불린 Characters : 문자 Strings : 문자열 Arrays : 배열 Unsigned Integer : 부호 없는 정수 타입. Java 에 unsigned 예약어가 없는 것처럼, 코틀린에서도 부호 없는 정수 타입을 만들 때 unsigned 를 사용하지 않는다. Number 정수 타입과 실수 타입이 있다. 정수 타입 타입 크기 ( bit ) 타 언어 unsigned Byte 8 byte / char UByte Short 16 short UShort Int 32 int UInt Long 64 long ULong 자바 언어처럼 숫자 및 문자에 대한 1 byte 크기의..
[Kotlin] 기본 타입과 내부 처리 코틀린의 모든 변수는 멤버 함수를 가진다는 점에서 일종의 객체로 간주할 수 있다. 예를 들어 Intellij 환경에서 13을 입력한 후 ctrl + space 키를 입력하여 자동완성을 수행하면 아래와 같이 Int형 13에 대한 멤버 함수들을 호출할 수 있다. 위와 같은 특징은 JVM을 기반으로 하는 다른 언어인 Java 와도 사뭇 다르다. Java의 경우 int, float 등의 primitive type은 객체가 아니라서 멤버 함수를 가지지 않으며, raw value로 취급된다. 코틀린 언어 수준에서 int, float 등의 Number type 이 마치 객체인 것 처럼 사용되기는 하지만, 실제로 모든 값이 객체 형태로 처리되는 것은 아니다. 이를 알아보기 위해 코틀린 코드를 Java 코드로 디컴파일해..