[Kotlin] 클래스 Class

Yeon·2023년 7월 8일
0

Android

목록 보기
6/9
post-thumbnail

클래스 Class

  • 객체를 정의하는 틀 또는 설계라는 의미
    class 내부구성

클래스 선언 키워드

  • class 키워드를 통해 클래스를 선언할 수 있음

클래스 이름

  • 일반적으로 PascalCase를 이름 규칙으로 함

생성자 constructor

클래스의 인스턴스를 생성할때 사용

  • 기본 생성자 primary constructor

    • 기본적인 접근제어자: public
    • public으로 사용할 때는 constructor 키워드 생략 가능
    • 멤버 변수로 사용하고자 할 때는 기본 생성자에 val 또는 var 키워드를 붙임
    class Students constructor(name: String) { ... }
    
    // constructor 생략
    class Students (name: String) { ... }
    
    // 멤버변수로 사용
    class Students (val name: String) { ... }
  • 보조 생성자 Secondary constructors

    • 다양한 형태의 생성자를 만들 수 있음
    • 멤버 변수에 값을 할당하기 위해서는 위 기본 생성자와 같이 var, val를 붙일 수 있음
    • 보조 생성자의 매개변수를 직접 클래스의 멤버 변수에 할당해주어야 함
    • 기본 생성자는 하나의 생성자만 정의할 수 있기 때문에 여러 생성자를 만들기 위해 보조 생성자를 사용
      class Students {
          var name: String = ""
          var age: Int = 0
          
          constructor(name: String) {
              this.age = age
          }
          
          constructor(name: String, age: Int) {
              this.name = name
              this.age = age
          }
      }

멤버 변수 properties

  • 멤버 변수: 클래스 영역에서 선언

    • 인스턴스 변수: 바꿀 수 있음
    • 클래스 변수: 바꿀 수 없음
  • 지역 변수: 메소드나 생성자 위치에서 선언

  • val 또는 var 키워드를 사용

  • init 키워드를 사용

  • 변수에 관련한 내용은 이전 변수 var/val에 있음

초기화 블럭 initializer blocks

  • 객체가 생성될때 초기화 블럭이 실행됨
  • 초기화 순서
    ① 기본 생성자
    ② 클래스 내부 속성
    ③ 초기화 블록
    ④ 보조 생성자

함수 function

  • 클래스의 상태 업데이트 등을 캡슐화하여 사용하기 위해 클래스 내부에 함수를 선언할 수 있음
  • 추후에 올릴 예정

접근 제어자 Modifier

  • private: 클래스 외부에서 접근 불가능
  • protected: 상속관계에 있는 외부에서는 접근이 가능
  • internal: 모듈 안에서 접근 가능
  • public: 어디서든 접근 가능

[참고 사이트]

"[kotlin] 코틀린 차곡차곡 - 4. 클래스 - 기본 구성요소", 사바라다는 차곡차곡
"[Kotlin] Class, Interface 새로 배운 학습 정리", 기록을 통한 복습

0개의 댓글