[Kotlin] 8. 클래스의 기본 구조

오도원공육사·2021년 5월 25일
0

코틀린 기초문법

목록 보기
8/13

객체지향을 위한 클래스의 기본구조를 알아보자.

1. 클래스

  • 클래스는 값과 그 값을 사용하는 기능들을 묶어놓은 것.

코틀린의 자료형들도 클래스이다.

  • 고유 특징값(속성) + 기능의 구현(함수)

예시.

class Person(var name:String, val birthYear:Int)

1-1. 인스턴스

모두 Person이라는 클래스로 만들 수 있다.

  • 클래스는 인스턴스(Instance)를 만드는 틀
  • 인스턴스 : 클래스를 이용하여 만들어내는 개체

예시.

박보영 인스턴스를 만들어보자.

변수를 선언한 후, 할당 연산자를 쓰고 클래스의 이름을 적은 후 클래스 선언 시 적은 속성을 순서대로 적으면 된다.

fun main() {
    var a = Person("박보영", 1990)
    var b = Person("전정국", 1997)
    var c = Person("장원영", 2004)
    
    println("안녕하세요, ${a.birthYear}년생 ${a.name}입니다.")
}

class Person(var name:String, val birthYear:Int)

// 결과
안녕하세요, 1990년생 박보영입니다.
  • 위의 자기소개 기능을 매번 적는것은 매우 번거롭다. → 매우 비효율적
  • 자주 사용하는 공통 기능은 클래스의 내부 함수로 넣어준다.
fun main() {
    var a = Person("박보영", 1990)
    var b = Person("전정국", 1997)
    var c = Person("장원영", 2004)
    
    a.introduce()
    b.introduce()
    c.introduce()
    
}

class Person(var name:String, val birthYear:Int) {
    fun introduce() {
    	println("안녕하세요, ${birthYear}년생 ${name}입니다.")
    }
}

코틀린은 객체 지향의 언어를 기반으로 함수형 언어의 장점을 흡수한 실용적인 언어이다.

profile
잘 먹고 잘살기

0개의 댓글

Powered by GraphCDN, the GraphQL CDN