티스토리 뷰

Android & Kotlin

Kotlin 기본 문법 정리

CodingTrader 2021. 5. 6. 02:48
728x90

1. 함수

 

자바의 경우 앞에 리턴형을 써준다 void/ int

코틀린의 경우 변수명 뒤에 타입을 지정

 

아무것도 리턴형식이 없을 때 뒤에 Unit을 써준다. Void와 같은 의미 (리턴 타입이 없으면 안 써줘도 상관 없음)

 

fun add(a: Int, b: Int) : Int { //자바와 다른점 앞 i가 대문자, 리턴 타입이 있을 경우 생략 하면 안됨

    return a+b

}

 

2. val vs var

 

val = value (상수 변하지 않는 수) 한번 정의 되면 재정의 될 수 없음

단, 바로 할당하지 않을 경우 val e, var e 같은 형식의 선언은 사용될 수 없음

val e: String, Int 같이 선언 후 넘어가야한다.

 

val c = 100 //이와 같은 경우 코틀린은 C 가 Int인 줄 알기 때문에 :Int 생략 가능하지만 val, var 은 반드시 구분해줘야함

 

 

3.String Template

 

{} 대괄호를 사용해 여기까지가 변수다 라는 것을 알려줘야함

특수문자를 사용하고 싶으면 \$ ($뒤에 다른 글자가 올 경우 변수로 인식하기 때문)

 

 

4. 조건식

 

다른 언어와 마찬가지로 if {} else {} 구문 사용가능

 

 

 

* Expression vs statement

 

~~해서 값을 반환 하면 Expression(표현식), 어떤 것을 실행 하도록 만들면 즉, 명령하는 문장식은 Statement

자바 같은 경우 리턴 값이 없는 void의 경우는 statement 이다.

코틀린의 경우 모든 함수는 Expression (함수에서 리턴 값이 없어도 Unit을 리턴하기 때문이다.)

 

5. Array and List

 

Array는 기본적으로 정해져 있는 사이즈가 있음

메모리가 이미 할당 되어 나오기 때문에 처음에 사이즈 지정이 필요

 

List

1. (InMutable)List  (수정 불가능 즉, 읽기 전용)

2. MutableList  (수정 가능)

 

 

6. For/While

 

while문은 다른 언어와 동일 하지만 for 문은 여러 방식으로 사용

 

7. Nullable / NonNull

 

NPE (Null Pointer Exception)

자바에서는 컴파일 시점에 잡을 수 없고 코드를 실행해봐야 즉, 런타임 중에 확인이 가능하므로 불편하지만,

코틀린의 경우 컴파일 시점에 잡아 줄 수 있다.

 

 

 

!! 연산자의 경우 Null 체크를 ignore 즉, 무시할 수 있다.

Nullable 변수이지만 사용자가 자신이 작성한 함수에 Null 값이 무조건 들어올 수 없을 경우일 때 사용할 수 있다.

하지만 10000% 확실하지 않은 이상 사용을 지양해야 하지만 개발 과정에 편리함을 가져다 주기에 자주 사용된다.

 

8. class

 

코틀린은 자바와 달리 파일이름과 클래스 이름이 일치하지 않아도 상관 없으며, 여러 클래스도 한 파일 안에 넣을 수 있다.

 

코틀린에서는 new 키워드 필요 없이 사용 가능하며

 

 

코틀린의 경우 모든 class가 기본적으로 final class 이기 때문에 같은 A 더라도 접근 할 수 없으므로, open 키워드를 사용해서 접근 가능하게 해줘야한다.

 

코틀린에서의 상속

 

 

참조: www.youtube.com/watch?v=IDVnZPjRCYg

728x90

'Android & Kotlin' 카테고리의 다른 글

Activity 와 Fragment  (0) 2021.05.22
Kotlin 고급 문법 정리  (0) 2021.05.16
Android Studio .idea 에 있는 file들은 무엇인가?  (0) 2021.05.11
Hiding API Keys  (0) 2021.04.22
Constraint Layout  (0) 2021.04.20
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG more
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
글 보관함
250x250