객체란?
객체
코틀린은 모든 것을 객체로 처리
객체에는 해당하는 클래스가 있음
클래스
객체를 만들려면 클래스가 필요
먼저 클래스를 정의하고 이 정의된 클래스 내의 생성자를 호출해서 객체를 생성
클래스(class) : 클래스를 정의하는 예약어이며 객체를 생성하는 템플릿 도구
생성자(constuctor) : 클래스 정의 이후 객체를 생성하는 기능
클래스 정의
class Hello {
val hello = "Hello"
}
객체 생성
val h = Hello()
객체의 속성이나 메소드 접근 → 점 연산자 사용
println(h.hello)
객체 표현과 주석
리터럴, 연산자, 표현식
리터럴 : 하나의 값
연산자 : 두 개의 리터럴을 연산할 때 사용하는 도구
표현식 : 여러 리터럴과 연산자가 연결된 수식
리터럴과 표현식 처리
val intVar = 100 // 정수 기본은 Int
val longVar = 100L // Long
val doubleVar = 100.0 // 실수 기본은 Double
val floatVar = 100.0F // Float
val charVar = 'a' //char
val stringVar = "String" //String
val boolVar = true //Boolean
메서드 : 클래스 내부에 정의한 함수
연산자를 표기하면 내부에서 해당하는 메서드로 변환해 처리
println( 100 + 100 )
println( 100.plus(100) )
주석 처리
// 한 줄 주석
/*
여러 줄 주석
*/
/**
* KDoc 주석
*/
문자열
문자열 템플릿
val date = "20220101"
val a = 100
val b = 200
println(" 날짜 : $date ") //$변수명
println(" 100 + 200 = ${a+b} ") //${표현식}
변수와 상수
식별자 이름 작성 방법
변수 정의
val 불변변수 = "불변변수"
var 가변변수 = "가변변수"
val 변수정의 : String = "초기값"
속성
코틀린에서는 지역변수를 제외하고 모두 속성임.
실제 변수를 정의하면 변수를 참조하는 메서드(게터, 세터)를 내부적으로 제공
변수 이름으로 참조하면 메서드 실행
식별자
표준 입출력
val a = readLine()!!.toInt() //정수 입력
print(" a= $a ") //출력
val input = readLine()!!.split(" ").map { it.toInt() } //한 줄에 여러 정수 입력