readline : 입력값을 받는 베소드이며 null 허용
readin : 입력값을 받는 베소드이며 null 허용하지 않는다
접근제한자 : public, private, internal, protected ( 무분별한 접근을 막을수 있다)
public : 디폴트값 어디서나 접근 가능
private : 동일한 클래스 내부에서만 가능
internal : 같은 모듈 내부에서만 접근 가능
protected : 기본적으로 private지만 상속 받는 경우 접근 가능
kotlin 지연 초기화 방법
사용 이유: 안정성을 위해,초기 값을 정의 하기 난처해서 나중에 대입하기 위해
변수는 lateinmit 상수는 lazy로 지연 초기화
널 세이프티
? : null이 가능한 변수 임을 표시
!! : 강제로 null이 아님을 선언
?.(safe-calls) : 앞에 변수가 null이 아닐때 오른쪽 함수가 수행되고 null이면 null반환
?:(엘비스 연산자) : null대신에 다른 문자열 출력 가능
Single-expression function
람다식 기본 구조
{매개변수1, 매개변수2... ->
코드 }
예 : fun add(num1:Int, num2:Int, num3:Int) = (num1+num2+num3)/3
코틀린 기능
to자료형() : 숫자 자료형 변경
is : 자료형 타입 확인
업 캐스팅 : 자식클래스를 부모클래스의 자료형으로 객체 생성
다운 캐스팅 : 부모클래스를 자식클래스의 자료형으로 객체 생성
여러 인스턴트 리턴 : Pair, Triple
Scope Function
let function
with function
also function
apply function
run function