7. 클래스

이글은 유튜브 강좌 <디모의 코틀린> 강좌를 보고 요약작성한 글 입니다.
https://www.youtube.com/playlist?list=PLQdnHjXZyYadiw5aV3p6DwUdXV2bZuhlN
강좌를 보고 싶은 분은 위 링크를 통해 공부하실수 있습니다.

클래스의 기본구조

  • 속성 : 고유의 특징값
  • 함수 : 기능의 구현

먼저 클래스에 대해 알기전에 **인스턴스(instance)** 에 대해 이해하고 있어야 한다.
  • 인스턴스(instance)
    : 클래스를 이용해서 만들어 내는, 서로다른 속성의 객체(Object)를 지칭하는 용어.
    뭔말인지 모르겟져?

그림으로 이해해 봅시다.



1. 1990년생 , 박보영
2. 1997년생 , 전정국
3. 2004년생 , 장원영
이 있다면, 이들을 프로그램에서는

이렇게 표현된다.

이름과 태어난 해가 있으면 Person(클래스)를 통해 A,B,C(라는 이름을 가진) 인스턴스(instance)를 생성할수 있다.
이러한 인스턴스(instance) 를 주로 객체(Object)라고 불리는 경우가 많다.
위처럼 객체(Object)를 소프트웨어에 실체화 하면 그것을 ‘인스턴스(instance)’라고 부른다.

  • 객체 , 인스턴스 개념적 의미에 너무 휘둘릴 필요없다. 이렇게 만 알아도 괜찮다.

이것을 코드로 작성한다면

fun main() {
    var park = Person("박보영", 1990)
    var jun = Person("전정국", 1997)    
    var jang = Person("장원영", 2004)
    
    park.introduce()
    jun.introduce()
    jang.introduce()
}

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

// [결과]
안녕하세요, 1990년생 박보영입니다.
안녕하세요, 1997년생 전정국입니다.
안녕하세요, 2004년생 장원영입니다.

클래스, 객체, 인스턴스 에 대한 관계를 나중에 포스팅 할것이지만..
이 분의 글을 먼저 읽고 이해하는 것이 좋을 것 같다.

좋은 웹페이지 즐겨찾기