Kotlin Property

Kotlin Property 캡슐화  객체가 가지고 있는 변수는 메서드에 구현한 코드가 정상적으로 동작하기 위한 데이터를 담고 있다.  사람의 나이는 - 일 경우가 없으므로, 이러한 변수의 속성에 따라서 정상적으로 동작하기 위해서 사용한다.  이에 변수의 직접적인 접근을 차단하여, 외부에서 값을 변경하지 못하도록 막는 것을 캡슐화라고 부른다.  접근제한자를 통해서 해당 함수, 변수에 접근할 수 있는 것을 의미한다. Property  캡슐화가 적용된 변수는 외부에서의 접근이 차단된다.  캡슐화가 적용된 변수에 대해 메서드를 통해 값을 설정하거나, 가져다 사용할 수 있도록 구성한 것을 Property라고 부른다.  변수에 값을 넣는 메서드를 setter라고 부르고, 변수가 가지고 있는 값을 반환하는 메서드를 getter라고 부른다.  Java에서는 setter 와 getter를 직접 만들어야 하지만, Kotlin 에서는 Class 의 멤버변수를 지정해주면 기본적으로 Property 로 제공된다.   Property 작성 방법은 private 키워드를 변수에 설정하여, 외부에서 접근하지 못하도록 막는다. 주 생성자 사용하기  주 생성자의 매개 변수를 정의할 떄, var, val 로 정의 할 경우, setter, getter가 자동으로 생성된다.  보조생성자에서는 var, val 키워드로 property를 설정 할 수 없다. 클래스의 멤버 변수  var의 경우에는 setter와 getter가 모두 작성된다.  val의 경우 getter만 작성된다. Set / get 함수 직접 수정하기  Kotlin 에서 getter와 setter를 직접 구현 할 수 있는 방법을 제공한다.  기본적으로 생성되는 setter와 getter 메서드는 단순 변수에 getter만 setter 역할만을 수행하므로, getter, setter를 변경하고 싶은 경우 아래와 같이 변수 밑에 get(), set() 키워드를 통해서 만들어준다.  여기서 field는 v1 변수를 의미한다. fun mai

Kotlin 접근 제한

Kotlin 접근 제한자  객체가 가지고 있는 변수는 "." 연산자를 통해 자유롭게 접근이 가능하다.  접근 권한을 설정해 오동작하는 것을 사전에 막을 수 있게 한다.  Kotlin에서는 클래스의 정의한 모든 변수는 기본적으로 private 로 설정된다. 모든 변수는 직접적인 접근이 불가능하다.  따라서, getter를 통해서 접근할 수 있도록 한다.  Java 의 경우에는 . 을 통해서 접근 가능하다. Kotlin 에서는 . 이 자연스럽게 getter로 변환해서 접근한다. 클래스 접근 제한자 private : 외부에서 객체를 생성 할 수 없다. public : 외부에서 객체를 생성 할 수 있다. (기본) internal : 같은 모듈일 경우에만 객체를 생성할 수 있다. protected : 클래스에 지정할 수 없다. protected 는 클래스에 지정하면 아래와 같은 에러가 발생한다. Modifier 'protected' is not applicable inside 'file' private 클래스를 외부에서 참조할려면 아래와 같은 에러가 발생한다. Cannot access 'TestFile': it is private in file 변수, 메서드 접근 제한자 private : 외부에서 접근할 수 없다. public : 외부에서 접근이 자유롭다. (기본) internal : 모듈이 같을 경우에만 접근이 가능하다. protected : 상속 관계일 경우에만 접근이 가능하다. 개발자가 자유롭게 접근해서 값을 변경하는 것을 막기 위해서 프로그램의 오동작을 막기 위한 중요한 수단이다.

Kotlin 모듈

Kotlin 모듈  kt 파일들을 모아 관리하는 개념이 패키지라면, 모듈은 패키지를 모아 관리하는 개념이다.  패키지가 많아지면 관리하기가 어려워 질 수 있는데, 이 때 모듈로 묶어서 사용한다. 모듈  Java, Kotlin, Android 등의 분류로 모듈을 생성 할 수 있다.  Module 내에서 패키지를 생성할 수 있다. 모듈 사용 등록  File - Project Structure - Modules - Dependencies - Module Dependency

Kotlin 패키지

Kotlin 패키지 SW 개발을 하다보면은 클래스도 많이 만들게되고, KT 파일도 많이 만들게 된다. kotlin 에서 kt 파일을 폴더 별로 나누어 관리하는 개념을 패키지라고 한다. 패키지는 물리적인 폴더로 구분된다. 패키지  File -> New -> Package  실제로 컴퓨터에 물리적인 폴더로 생성된다. 그냥 폴더라고 생각해도 될 듯.  패키지 내에 있는 파일들은 상단에 패키지를 명시하여야 한다.  다른 패키지에서 해당 패키지에 있는 클래스를 명시하고자 할 때, 패키지 이름을 포함한 클래스의 이름을 명시해주어야 한다. Import  import를 사용해 패키지를 명시하면 코드 내에서 패키지 명을 생략할 수 있다.  자동 import 기능을 통해서 함수이름만 입력하면 자동으로 import 문구를 추가 할 수 있다.

Kotlin 상속

Kotlin 상속 상속 부모 클래스는 Open 키워드를 사용해야 한다. Java 에서는 아무것도 안붙여도 부모 클래스로 사용할 수 있다.  클래스를 설계 할 때 다른 클래스에 정의한 요소를 그대로 물려받는 것을 상속이라고 한다. 부모 클래스를 정의할 때는 open 키워드를 사용한다.