[Android] 04. 코틀린 객체지향 프로그래밍
04. 코틀린 객체지향 프로그래밍
목차
- 04-1 클래스와 생성자
- 클래스 선언
- 주 생성자
- 보조 생성자
- 04-2 클래스를 재사용하는 상속
- 상속과 생성자
- 오버라이딩 - 재정의
- 접근 제한자
- 04-3 코틀린의 클래스 종류
- 데이터 클래스
- 오브젝트 클래스
- 컴패니언 클래스
04-1 클래스와 생성자
✅ 클래스 선언
- 클래스는 class 키워드로 선언한다.
- 클래스의 본문에 입력하는 내용이 없다면 { }를 생략한다.
- 클래스의 멤버는 생성자, 변수, 함수, 클래스로 구성된다.
- 생성자는 constructor 라는 키워드로 선언하는 함수이다.
- 객체를 생성해 사용하며 객체로 클래스의 멤버에 접근된다.
- 객체를 생성할 때 new 키워드를 사용하지 않는다.
✅ 주 생성자
- 생성자를 주 생성자와 보조 생성자로 구분된다.
- 주 생성자는 constructor 키워드로 클래스 선언부에 선언한다.
- 주 생성자 선언은 필수는 아니며 한 클래스에 하나만 가능하다.
- constructor 키워드는 생략할 수 있다.
- 주 생성자의 본문 - init 영역
- init 키워드를 이용해 주 생성자의 본문을 구현할 수 있다.
- init 키워드로 지정한 영역은 객체를 생성할 때 자동으로 실행된다.
- 생성자의 매개변수를 클래스의 멤버 변수로 선언하는 방법
- 생성자의 매개변수는 기존벅으로 생성자에서만 사용할 수 있는 지역변수이다.
- 매개변수를 var나 val 키워드로 선언하면 클래스의 멤버 변수로 사용된다.
✅ 보조 생성자
- 보조 생성자는 클래스의 본문에 constructor 키워드로 선언하는 함수
- 여러개를 추가할 수 있다.
- 보조 생성자에 주 생성자를 연결한다.
- 보조 생성자로 객체를 생성할 때 클래스 내에 주 생성자가 있다면 this()구문을 이용해 주 생성자를 호출해야 한다.
- 보조 생성자가 여럿일 때 생성자를 연결하는 방법이다.
✅ 상속과 생성자
- 코틀린에서 어떤 클래스를 상속받으려면 선언부에 콜론(:)과 함께 상속받을 클래스 이름을 입력한다.
- 코틀린의 클래스는 기본적으로 다른 클래스가 상속할 수 없다.
- 다른 클래스에서 상송할 수 있게 선언하려면 open 키워드를 사용한다.
- 상위 클래스를 상속받은 하위 클래스의 생성자에서는 상위 클래스의 생성자를 호출해야만 한다.
✅ 오버라이딩 - 재정의
- 상속이 주는 최고의 이점은 상위 클래스에 정의된 멤버(변수, 함수)를 하위 클래스에서 자신의 맴버처럼 사용할 수 있다는 것이다.
- 상위 클래스에 선언된 변수나 함수를 같은 이름으로 하위 클래스에서 다시 선언하는 것을 오버라이딩이라고 한다.
✅ 접근 제한자
- 접근 제한자란 클래스의 멤버를 외부의 어느 범위까지 이용하게 할 것인지를 결정하는 키워드이다.
- 접근 제한자의 사용 예이다.
✅ 데이터 클래스
- 데이터 클래스 data 키워드로 선언
- 데이터 클래스는 VO(데이터 전달) 클래스를 편리하게 이용할 수 있는 방법 제공
- equals() 함수는 주 생성자에 선언한 멤버 변수의 데이터만 비교 대상으로 삼는다.
- 객체의 데이터를 반환하는 toString() 함수이다.
- 데이터 클래스를 사용하면서 객체가 가지는 값을 확인해야 할 때 이용한다.
✅ 오브젝트 클래스
- 오브젝트 클래스는 익명 클래스를 만들 목적으로 사용된다.
- 선언과 동시에 객체를 생성한다는 의미에서 object라는 키워드를 사용하게 된다.
- 오브젝트 클래스의 타임은 object 뒤에 콜론(:)을 입력하고 그 뒤에 클래스의 상위 또는 인터페이스를 입력한다.
✅ 컴패인언 클래스
- 컴패니언 클래스는 멤버 변수나 함수를 클래스 이름으로 접근하고자 할 때 사용한다.
- companion이라는 키워드로 선언한다.
✅ 마지막으로
이번 단원에서는 클래스에 대해서 배워보았습니다. java나 c를 공부하신 분들에게는 그나마 쉬운 부분이었지만, 처음 접하시는 분들에게는 아주 생소한 내용일 수 있습니다. 중간 중간 VO 나 constructor 같은 키워드는 프로그래밍을 하신 분들에게도 익숙하지 않은 키워드들인데요. 좀 더 직관적이고 쉽게 사용할 수 있도록 만들어진 내용인 것 같습니다. 다음 단원 '코틀린의 유용한 기법'을 통해서 코틀린의 참 맛을 알아가 보도록 하겠습니다. 수고하셨습니다.
[03 코틀린 시작하기] 👈 | 👉 [05 코틀린의 유용한 기법]
💬 한글학자 주시경('주보따리')
주시경은 35세가 되어서야비로소 이런저런 공부를 마칠 수 있었다.
그때는 1910년 불행하게도 나라가 일제에 패망한
해였다. 하지만 그는 절망에 빠지지 않고 민족정신을
바로 세우기 위한 국어 운동, 국어 연구와 교육을 통한
계몽 운동을 더욱 활발히 전개했다. 눈코 뜰 새 없이
바쁜 그를 두고 사람들은 '주보따리'라고 불렀다.
가방이 없던 시절, 보자기에 책을 싸서 우리말
한글을 가르칠 수 있는 곳이라면 어디든
마다하지 않고 찾아갔기 때문이다.
- 김슬옹의 《길에서 만나는 한글》 중에서 -
* 민족정신을 되찾는 길은
그 민족의 혼이 담긴 말과 글을 지키는 것입니다.
주시경 선생님같은 위대한 분들이 계셨기에 우리가
한글이라는 빛나는 문화유산을 잃지 않을 수 있게
되었습니다. 말과 글이 혼탁해지고 정체를 알 수
없는 신조어가 난무해, 세대간 소통조차 어려운
오늘날, 주시경님과 그분의 별명인
'주보따리'를 다시금 생각하게
됩니다.
댓글
댓글 쓰기