Android/Kotlin

[book][공부중] 코틀린 완벽 가이드 "2장 코틀린 언어 기초"

네모메모 2022. 6. 13. 12:37
반응형

아래 책 공부하며 '새롭게 배운 점', '더 궁금해진 것', '자주 까먹는 부분'들에 대한 포스팅입니다.

 

 

코틀린 완벽 가이드 입문부터 활용까지, 필요한 지식 총망라!

저자 알렉세이 세두노프|역자 오현석|길벗 |2022.02.28
원제Kotlin in-depth : a comprehensive guide to modern multi-paradigm language. 1-2

페이지 704|ISBN  9791165218911|판형 규격외 변형


 

"2장 코틀린 언어 기초"

 

 

1. 주석

자바와 달리 코틀린은주석 안에 주석을 쓸 수 있음 

         /**
         * 여러 줄 주석 
         *  /** 주석 안에 주석도 주석 처리 cf) 자바에서는 닫힘 쓰는 순간 주석 풀림 */
         */
         
         
         /**
         * 여러 줄 주석 
         * /** 하지만 '*/' */ 이렇게 닫힘 2번 쓰면 주석 풀려 에러 발생함
         */

 


2. 코틀린에서 사용자 입력 받기 : readLine() 

ㄴ> 표준 입력에서 한 라인을 읽어 문자열로 변환해주는 함수


 

2. property : 값을 그대로 읽고 쓰는 변수와 달리, property는 값을 읽거나 쓸 때 계산을 수행할 수 있다.


3. 타입추론(type interface) : 변수 선언 시 타입을 명시하지 않아도 대입되는 값에 따라 타입 도출해주는 코틀린 기능.

(컴파일러가 코드 문맥에서 타입을 도출해냄) 

- 타입 추론된 변수에 다른 타입 대입 불가능

var a  = 3
a  = "a" // 에러발생

4. 띄어쓰기

val txt: String = "Hello"


5. 식별자 : 변수명, 함수명 등 프로그램에 정의되는 대상에 붙일 이름 

    -> 예약어(=하드 키워드)는 사용 불가


6. 배열

- 코틀린 배열 기본 타입 :  Array<T>

- 배열 생성 함수는 모두 제네릭해서 호출 시 원소타입 'T'를 지정해야한다.

        arrayOf(1,2,3) // [1,2,3] 배열 객체 생성
        emptyArray<Int>() // 빈 배열 객체 생성
        arrayOfNulls<Int>(3) // [null, null, null] 배열 객체 생성

방법2) 배열 생성 & 사이즈 지정 & (생성자를 통해) 디폴트값 설정하기

        // 코틀린 배열 선언으로 생성자를 통해 디폴트값으로 채우기 가능
        Array<Int>(3) { i -> i+1 } // [1,2,3] 배열 객체 생성
        IntArray(3, {0}) // [0, 0, 0] 배열 객체 생성

- 생성자를 통해 람다식에서 it은 배열의 인덱스

 

- 배열 생성 시, 

ㄴ>  Array<Int> 는 모든 수를 Boxing하므로 안 좋은 방식

ㄴ> IntArray(10) 타입을 사용하는 것이 좋음 ex) IntArray(10){ 0 } , CharArrayOf('a')

 

- 객체 참조(주소값 참조, Call by Ref) 되지 않도록 동일한 별도의 배열 복사 함수

원본배열객체.copyOf() //전체 복사

원본배열객체.copyOf(복사할 크기) // 작으면 절삭, 크면 0으로 채움

 

- 배열 생성 후 사이즈 변경 불가능 But  '+'연산으로 원소 추가한 새 배열 생성 가능

   ex) val b = intArrayOf(1,2,3) + 4 

 

- 배열1 == 배열2 : 원소 비교 아닌 참조(주소값) 비교함

- 배열1.contentEquals(배열2) : 원소 비교함

 


 

끝!

반응형