본문 바로가기
코틀린/개발자를 위한 코틀린 프로그래밍

[chpater 02] 코틀린에서는 모든 것이 객체이다.

by 측면삼각근 2023. 7. 21.
728x90
반응형

본 포스팅은 개발자를 위한 코틀린 프로그래밍 의 chapter단위로 공부하고, 정리, 부족한 내용의 추가 학습내용을 정리 하는 블로깅입니다.학습 중임에 따라 잘못 기재된 내용이 있을 수 있습니다. 언제든지 제보해주세요.



코틀린에서는 모든 것을 객체로 본다.
내부에서 JVM의 기본형으로 변환되어 사용되지만 코틀린에서는 기본형이 없다.(참조형만 존재)

// `javaClass`로 java클래스를, `javaClass.kotlin`으로 코틀린 클래스를 확인할 수 있다.
println("Hello".javaClass)
// class java.lang.String

println("Hello".javaClass.kotlin)
// -> class kotlin.String

객체 표현과 주석

  • 리터럴(literal): 하나의 값을 말하며 보통 숫자, 문자, 문자열이다. 클래스를 만들어 객체로 만든 값은 모두 리터럴이다.
  • val str = "Hello"
    val num = 100
    // 등등
    • 리터럴 표기법으로 작성하면 객체이면서 값으로 사용한다.
      // 정수와 실수
      val intVal = 100 // class kotlin.Int
      val longVal = 100L // class kotlin.Long
      val doubleVal = 100.0 // class kotlin.Double
      val floatVal = 100.0F // class kotlin.Float
      // 문자, 문자열, 논리값
      val charVal = 'a' // class kotlin.Char
      val stringVal = "string" // class kotlin.String
      val boolval = true // class kotlin.Boolean
  • 연산자(operator): 연산자는 두 개의 리터럴을 연산 할 때 사용하는 도구이다. 보통 기호로 표시하지만 코틀린 내부에서는 메서드로 처리한다.
    연산자 메서드
    100+100 100.plus(100)
    100-100 100.minus(100)
    200/100 200.div(100)
    300%7 300.rem(7)
    10*20 10.times(20)
  • 표현식(expression): 표현식은 여러 리터럴과 연산자과 연결된 수식을 말한다. 이 수식은 즉시 평가되어 하나의 값으로 변환된다.
    연산자와 표현식
  • 객체(object): 객체란 클래스에 의해 생성되는 모든 것을 말한다. 보통 숫자, 문자열 등은 리터럴 표기법으로 객체를 만들지만, 사용자가 class예약어로 정의한 클래스는 리터럴 표기법으로 객체를 표현할 수 없다.
  • 주석: 한줄, 여러줄 주석은 자바와 동일하고, 코틀린 문서화 주석 kDoc를 읽어보면 도움이 될듯하다.

문자열

  • 문자(Char; 'c','h'..)/ 문자열(String; "string", "가을")
    문자는 작은 따옴표, 문자열은 큰따음표로 구성되어 있다.
  • 문자열 템플릿(String Template)
    • 특수문자의 경우 \를 사용
  • val date = "20230721" // 1. $+변수명을 지정해서 출력 println("날짜 : $date") // 2. ${표현식}을 지정해서 출력 println("100 + 200 = ${100+200}") /* 형식 문자 포멧팅 - %s: 문자열 - %d: 정수 - %f: 실수 - %e: 실수를 지수로 표기 - %x: 정수를 16진수로 표기 */ val float = 1234.5 val int = 100 println(" float= %6.2f int= %6d string = %10s")

변수와 상수

변수와 상수

  • 변수: 불변변수(val) / 가변변수(var)
  • 변수 이름 작성
    • 소문자나 언더스코어(_)로 시작한다.
    • 첫 문자에 숫자를 쓸 수 없다.
  • 상수 정의
    object Const {
      const val CONST = 100
    }
    println(Const.CONST)
    • 패키지나 object예약어를 사용하는 곳에서만 정의 할 수 있다.
    • 상수는 const val 예약어를 사용한다.
    • 상수는 변수와 구별하기 위해 상수 이름을 모두 대문자로 쓴다

지역변수와 전역변수

코틀린은 패키지 단위로 관리하므로 파일에 변수를정의하면 전역변수로 인식한다.

  • 지역변수(local variable): 함수 코드 블록인 중괄호 {} 사이에 사용하는 변수
  • 전역변수(global varibale): 코틀린에서는 보통 패키지 단위에 정의된 최상위 변수가 전역변수이다. 동일한 패키지에서 함수 등에서 항상 참조가능
반응형