[Kotlin] 객체지향 프로그래밍

PUJIN·2023년 6월 7일
0
post-thumbnail

프로그램에서 사용되는 데이터나 기능을 객체로 관리하는 기법

객체


매개체 하나에 대한 정보와 기능을 담고 있는 프로그램 요소

  • 매개체 하나의 정보를 관리하기 위해 하나의 객체 필요
    → 매개체의 수만큼 객체 생성
  • 독립적으로 관리, 관여 X
  • 참조변수(객체의 ID 정보 포함) 선언시 클래스 타입 생략 가능
  • 클래스 내부 코드가 없다면 { } 생략 가능



클래스


class 클래스명 { }



생성자


constructor() { }

클래스를 통해 객체를 생성할 때 자동으로 수행되는 코드

  • 주로 클래스의 변수 값을 초기화하는 역할로 이용
  • 반환타입 X
  • overloading (매개변수의 개수나 자료형을 다르게 하여 여러개 생성) 가능



init

객체 생성시 자동으로 처리되는 코드

  • init 코드블럭 수행 → 생성자 코드블럭 수행
  • 매개 변수를 정의할 수 없기 때문에 생성자 X
class TestClass {
    init{
        println("init 코드 블럭")
    }
}



기본 생성자

  • 기본 생성자의 매개 변수는 멤버 변수로 자동 등록
  • constructor 생략 가능
class TestClass constructor(var a1:Int, var a2:Int)

class TestClass (var a1:Int, var a2:Int)
  • 기본 생성자가 있을 때 추가적인 생성자를 선언하는 경우 : 기본 생성자를 반드시 호출 (this 이용)
class TestClass (var a1:Int, var a2:Int ) {
    var a3 = 0
    
    constructor() : this(100, 200)
}

0개의 댓글