접근제한자
무분별한 접근을 막아 데이터를 보호하고 유지보수에 용이
public : 기본. 어디서나 접근 가능
internal : 같은 모듈만 접근 가능
private : 같은 클래스만 접근 가능
protected : 상속받은 경우만 접근 가능 (기본적으로 private)
프로젝트 > 모듈(app) > 패키지(클래스)
예외처리
오류 : 프로그램에서 발생하는 예외
컴파일 에러 : 실행 전
런타임 에러 : 실행 중(비정상적으로 종료)
try-catch : 예외를 잡아주는 코드. try{예외 발생 가능성이 존재하는 코드} catch{예외가 발생했을 때 처리할 코드}
예외가 발생하면 catch부문의 코드가 실행된다. finally{항상 실행하는 코드}를 추가하여 예외처리와 관계없이 주의를 줄 수 있다.
throw : 예외를 던지는 코드. throw 예외종류
지연초기화
메모리를 효율적으로 관리하고 초기값을 정하기 난처할 때 사용
변수 : lateinit
상수 : lazy
널 세이프티 Null Safety
Null예외 : 프로그램의 가용성을 저하시키는 치명적인 오류
타입 | 의미 | Null 처리 |
!! Non-null Assert | Null 절대 아님!! | |
? Nullable | Null일수도? | |
?. Safe Call 안전호출 | Null일수도? Null 아닐 때만 실행할게. | Null 반환 |
?: Elvis Operator 엘비스연산자 | Null일수도? Null 대신 원하는대로 해줄게 : | 대체값 반환 |
배열 Array
변수에 순서를 매겨 연속적으로 활용 가능하게 저장하는 형태. 크기가 고정되어 있고 한 번 생성되면 변경할 수 없다.
var 배열명 = arrayOf()
배열명[인덱스 번호]
컬렉션 Collection
기본은 읽기전용. mutable을 붙여 수정가능하게 만들 수 있다. 크기가 고정되어있지 않은 동적배열.
List 리스트 : 순서가 있는 모임. 인덱스로 접근가능. 중복가능.
Map 맵 : 키와 값 쌍의 모임. 인덱스와 키로 접근가능. 값은 중복가능하나 키는 불가능.
Set 셋, 집합 : 순서가 없는 모임. 인덱스 없음. 요소의 존재여부를 확인. 중복불가능(고유)
제네릭Generic <>
매번 Any 타입으로 받으면 타입 안정성을 저하시킬 수 있다.
클래스 내부에서 사용할 자료형을 인스턴스를 생성할 때 고정한다.
컴파일시 자료형을 검색해 적당한 자료형을 선택할 수 있도록 한다.
객체 자료형의 안정성을 높이고, 형 변환의 번거로움이 줄어든다.
Single-expression function
람다식 { 매개변수 -> 코드 }
fun 함수명(매개변수) = 코드 를 var 변수명 = { 파라미터 -> 실행 코드 }로 메소드 선언없이 쓸 수 있다.
싱글턴
companion, object
키워드를 사용해 메모리 전역에서 유일한 객체임을 보장
내장메소드 : 코틀린 안에 있는 메소드. 반드시 import하고 불러와야 쓸 수 있다.
생성자가 있다면 초기화하지 않아도 된다. 생성될 때 초기화되기 때문.
'코틀린 > 코틀린 문법' 카테고리의 다른 글
object (0) | 2024.08.06 |
---|---|
코틀린문법 5주차 강의 [심화] (0) | 2024.06.12 |
코틀린문법 3주차 강의 [객체지향 프로그래밍] (0) | 2024.06.03 |
코틀린문법 2주차 강의 [컨벤션 ~ 반복문] (0) | 2024.06.03 |
코틀린문법 1주차 강의 [프로그래밍 ~ 개발환경] (0) | 2024.06.03 |