객체란?
- 항상 유일하고 특정한 자료형(클래스)를 가짐.
- 객체는 변수, 반환 값, 매개변수 등에 할당이 가능하다.
- 코틀린은 모든 것을 객체로 본다.
- JVM으로 실행되어 자바와 동일하게 Primitive사용
- 컴파일 처리할 때 까지 모든 객체는 해당 클래스가 있다.
객체
코틀린은 모든 것을 객체로 처리하기 때문에, 객체에는 해당 클래스가 있다. 다음은 클래스를 확인하는 방법이다.
- javaClass : 자바 클래스를 확인하는 속성
- javaClass.kotlin : 코틀린 클래스를 확인하는 속성
println("Hello".javaClass.kotlin)
println((100).javaClass.kotlin)
클래스
- 객체를 정의하는 틀 혹은 설계
클래스(class)
: 클래스를 정의하는 예약어, 객체를 생성하는 템플릿 도구
생성자(constructor)
: 객체 내의 속성들을 초기화 처리함
class Hello {
val hello = "Hello"
}
val h = Hello() // 빈 생성자
객체 표현과 주석
리터럴, 연산자, 표현식
- 리터럴(literal) : 하나의 값. → 숫자, 문자, 문자열이다. 클래스를 만들어 객체로 만든 값은 모두 리터럴.
- 연산자(operator) : 두 개의 리터럴을 연산할 때 사용하는 도구. 관례를 사용.
- 관례 :
plus
라는 이름의 특별한 메소드를 정의하면그 클래스의 인스턴스에 대해 +
연산자를 사용할 수 있음.
- 표현식(expression) : 리터럴과 연산자가 연결된 수식. 즉시 평가되어 하나의 값으로 변환.
- 객체(object) : 클래스에 의해 생성되는 모든 것