4월, 2023의 게시물 표시

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 키워드를 사용한다.

Kotlin 생성자

Kotlin 생성자  Kotlin 생성자에 대해서 살펴보자. 생성자  클래스를 통해 객체를 생성할때, 자동으로 수행될 코드를 작성하는 곳  반환 타입이 없어서 메서드라고 하지 않는다.  생성자는 클래스 멤버변수의 값을 초기화 하고 싶을 때 사용한다. init 코드 블록  객체가 생성되면 자동으로 동작하는 부분. Constructor   Constructor 키워드를 이용해서 생성자를 만들수 있다.  Java 에서의 생성자는 class 이름과 동일한 이름으로 생성자를 대체했는데, Kotlin 에서는 Constructor 라는 키워드를 통해서 사용한다. 기본 생성자  클래서를 정의할 때, 클래스 이름 우측에 인자를 둬서 사용 가능하다.  constructor 를 키워드를 생략할 수 도 있다.

Kotlin 객체지향프로그래밍

Kotlin 객체지향프로그래밍  Kotlin 에서의 객체지향프로그래밍에 대해서 알아보자. 객체지향프로그래밍 Kotlin 은 기본적으로 객체지향프로그래밍이지만, 굳이 객체를 사용하지 않아도 된다. Java 처럼 Class 가 무조건 있어야 하는것은 아니다. class 변수 선언시에 "new" 지정자를 생략해도 된다. 겉보기엔 일반 변수 처럼 사용할 수 있다.  class 의 멤버변수를 설정하면 내부적으로 set, get 메소드가 자동 생성된다. class 에서 함수는 함수라고 부르지 않고, 멤버 메서드라고 한다. 객체는 클래스를 통해서 생성할 수 있다. 객체가 다 수 필요하다면 같은 클래스로 객체를 무수히 만들어서 사용하면 된다.

Intel® HAXM installation failed 해결하기

이미지
HAXM installation failed  안드로이드 스튜디오 설치 후 AVD를 이용한 에뮬레이터 설치에서 Intel® HAXM installation failed 에러가 발생해서 해당 에러를 해결 할 수 있는 방법에 대해서 기술하기로 한다. HAXM  Hardware accelerated execution manager 으로 인텔의 하드웨어 가속 기능인 해당 툴을 설치해야지 AVD 수행이 가능하며, AVD를 빠르게 사용 가능하다. 에러 메세지 Running Intel® HAXM installer Intel HAXM installation failed! For more details, please check the installation log: C:\Users\~\AppData\Local\Temp\haxm_install-20230403_1445.log C:\Users\~\AppData\Local\Android\Sdk\extras\intel\Hardware_Accelerated_Execution_Manager\haxm_install-20230403_1445.log을(를) 찾을 수 없습니다. Intel® HAXM installation failed. To install Intel® HAXM follow the instructions found at: https://github.com/intel/haxm/wiki/Installation-Instructions-on-Windows Done 공식 가이드 https://github.com/intel/haxm/blob/master/docs/manual-windows.md 해당 PC에 가상화 지원 여부 확인 작업관리자에서 CPU 가상화 지원 여부를 확인할 수 있다. 현재 가상화가 사용 안 함으로 되어 있으며, 사용 함으로 변경할 수 있다. CPU 가상화 사용함으로 변경 하기 1) BIOS 진입  Security -> System Security 바이오스 가상화 설정 2) Virtualization Technolog