코틀린 기본 문법(6)_객체지향 프로그래밍(심화)

littlecsh·2023년 12월 11일

kotlin

목록 보기
6/8
post-thumbnail

어플개발을 목적으로 코틀린 기본문법을 배우고 있기 때문에 지금 잡아두지 않으면 나중에 결국엔 발목을 잡겠다 싶어 TIL작성의 필요성을 느끼는 요즘이다.

사실 지난 기본문법5글은 널세이프티, 접근제한자, 지연초기화에 대해 다루는 글이었지만 널세이프티만 정리해둬서 이번글에서 남은 내용들을 정리해보려고 한다.

접근제한자.
말그대로 접근을 제한하는 것이다.
일반적으로 변수나 메소드의 접근을 제한한다.
접근제한자를 사용하는 이유는 사실 간단하다. 접근을 하면 안되는 상황이 있기 때문.
보안을 예로 들 수 있을 것 같다. 주소, 이름, 번호 등의 정보가 무분별하게 접근할 수 있다면 온 세상 사람들이 나의 개인정보를 알 수 있는 상황이 오기 때문에 접근을 제한하는 것.
접근제한자에는 public, private, internal, protected가 있다.

  • public : 단어 뜻 그대로 어디에서나 접근이 가능하다. 따로 명시하지 않으면 public이라고 생각하면 된다.
  • private : 동일 클래스 내에서만 접근이 가능하다.
  • internal : 같음 모듈 안에서만 접근이 가능하다.
  • protected : 기본적으로는 private이다. 하지만 상속받을 때는 타 모듈에서 접근이 가능하다.

지연초기화는 접근제한자와 마찬가지로 말 뜻 그대로 초기화를 지연한다는 의미이다.
클래스 설계시 초기값을 정의하지 않고 나중에 대입하기 위한 문법이다.
코틀린에서는 클래스 설계시 반드시 변수값을 초기화 할 것을 권장하고 있다.
때문에 변수의 값을 정의하기 난처하다면 지연초기화를 통해 나중에 대입하는 것이다.

class Bird(){
	var name:String=""	//->lateinit var name:String
}

앞의 여러 문법글을 보면 클래스 설계시 초기값을 문자열이라면 ""라고 초기화해준 것을 볼 수 있다.
이렇게 사용해도 무방하지만 lateinit을 사용하여 지연초기화를 할 수도 있다.

profile
앱개발 튜토리얼

0개의 댓글