코린이 탈출기

chapter 7.2 - 코틀린 문법 + 객체지향개념 (1) - 생성자 이용하기 본문

인터넷 강의/클래스101 - 비전공자들을 위한 나만의 안드로이드 앱 만들기

chapter 7.2 - 코틀린 문법 + 객체지향개념 (1) - 생성자 이용하기

50HEE 2021. 5. 14. 11:08

이번에는 생성자와 함께 클래스의 개념을 보겠습니다.

 

생성자 - constructor

클래스를 객체화시켜주는 명령어입니다.

 

풀어서 설명하겠습니다.

우선 클래스란 종류라고 보면 됩니다. 우리가 만드는 프로그램에 등장하는 배역과 같은 느낌입니다.

예를 들면 고양이, 개, 학생, 자동차 등등의 종류를 의미합니다.

객체(instance)란 개념(역할)으로만 존재하는 것들이 이제 실제로 등장하는 것을 의미합니다. 즉, 실체화되어서 메모리에 등록되는 것을 의미합니다.

예를 들면 루나, 마루 등의 각각의 이름을 가진 고양이를 의미합니다.

클래스란 종류, 객체는 실제 등장하는 존재를 의미합니다.

예를 들면 클래스란 한 학급이라는 큰 틀을 만들고, 객체란 각각의 학생의 이름을 의미합니다.

 

개념을 실제로 만들어서 메모리에 등록하는 것을 객체화라고 부르며, 이를 실행시켜주는 명령어(코드)를 생성자라고 합니다.

 

 

 

생성자의 경우 직접 만들어 주는 경우와 만들어 둔 생성자를 사용하는 방법이 있습니다.

 

chapter 6에서 작성한 코드를 참고하겠습니다. 아래의 플러그인은 만들었던 위치를 알려주기 위해 넣은 것입니다.

 

2021.05.08 - [안드로이드/클래스101 - 비전공자들을 위한 나만의 안드로이드 앱 만들기] - chapter 6.2 - 리스트뷰 만들기 (1) - 기초 재료 만들기

 

코드를 작성하는 곳은 Student.kt입니다.

 

생성자 설정

생성자를 만드는 것을 먼저 보겠습니다.

생성자의 경우 주 생성자와 보조 생성자로 나누어집니다. 강의 내용 상 주 생성자를 주로 다루어 주 생성자 위주로 설명하겠습니다.

생성자를 만드는 것은 이전에도 설명했 듯이 ( )를 만들어 주면 됩니다.

생성자란 클래스를 객체화시켜주기 위해 사용하는 것입니다.

즉, 개념을 실제로 객체화할 때 필요한 재료를 넣어주는 행동이 주 생성자를 작성하는 것입니다.

 

chapter 6의 경우에는 학생의 이름과 출생 연도가 필요했습니다.

그래서 9번 줄처럼 이름과 출생 연도를 변수로 저장하였습니다.

 

 

 

<코드 작성>

class 클래스 명 (필요 변수1: 타입1, 필요 변수2: 타입2 ....)

 

 

코드를 작성한 곳은 MainActivity.kt입니다.

 

생성자 사용하기

만들어둔 생성자를 사용해보겠습니다.

생성자를 사용하는 방법은 필요한 재료를 위치에 맞게 넣어주면 됩니다.

24 ~ 29번 줄처럼 이름에는 이름을 출생 연도에는 출생 연도를 각 타입에 맞춰 넣어주면 됩니다.

 

이처럼 주 생성자를 다른 곳에서 사용하고 싶을 경우에는 주 생성자를 정의할 때 변수의 이름 앞에 val 또는 var을 붙여주어야 합니다.

위의 코드의 경우 Student 코틀린 파일에서 변수의 이름 앞에 val을 설정하여 에러가 생기지 않지만, 만약 Student 코틀린 파일에서 변수의 이름 앞에 val을 붙이지 않았다면 MainActicity에 활용할 경우 에러가 발생합니다.

다시 말해, 주 생성자를 정의할 때에는 변수의 이름 앞에 val 또는 var을 붙이면 클래스 내부의 변수나 함수로 활용이 가능합니다.

 

 

 

<코드 작성>

클래스 명(필요한 재료1, 필요한 재료2 ....)

 

 

자바의 경우에는 만들어 둔 생성자를 사용하고 싶을 경우에는 위의 코드와 비슷하지만 new라는 단어를 앞에 붙여줘야만 합니다.

Comments