분류 전체보기

목표 문과 식을 구분한다. 문이 본문인 함수와 식이 본문인 함수의 차이를 안다. 문(Statement)과 식(Expression)의 구분 식은 자바에서는 볼 수 없었던 코틀린의 특성이다. 자바의 함수는 문으로 이루어져 있으며, return이라는 키워드를 통해서만 값을 반환할 수 있었다. 문과 식의 차이를 살펴보자. 문(Statement) : 자신을 둘러싼 가장 안쪽 블록의 최상위 요소로 존재하며, 아무런 값을 만들어내지 않는다. 식(Expression) : 값을 만들어 내며, 다른 식의 하위 요소로 계산에 참여한다. *코틀린에서는 루프를 제외한 대부분의 제어 구조가 식이다. 블록(문)이 본문인 함수 본문이 중괄호 {} 로 둘러싸인 함수를 문이 블록이 본문인 함수라 부른다. 특징 블록이 본문인 함수는 타입..
목표 생성자가 무엇이고, 생성자 오버로드가 무엇인지 이해한다. Fragment의 생성자 오버로드를 하지 말아야 하는 이유에 대해 이해한다. 생성자란? 생성자란 객체의 인스턴스를 생성할 때 호출되어 객체의 인스턴스를 반환하는 메서드를 뜻한다. 예를 들어 아래와 같은 클래스가 있다고 해보자 class GalaxyTab(name: String, size: Int) GalaxyTab 객체의 인스턴스는 다음의 방식으로 만들어낼 수 있다. val tabS7 = GalaxyTab("S7", 11) 우리는 GalaxyTab(name : String, size: Int)을 생성자라고 부른다. 생성자 오버로드란? 생성자 오버로드란 class의 생성자를 두 개 이상 가지는 것을 뜻한다. Kotlin에서는 constructo..
목표 클래스 멤버의 가시성 변경자에 대해 이해한다. 클래스 멤버의 가시성 변경자 Kotlin은 클래스 내부에 클래스 멤버(class, fun, val, var)를 선언하고 외부에 변수를 참조하게 만들 수 있다. 하지만, 모든 클래스 멤버들이 외부에서 가시적이라면 클래스에 대한 무분별한 참조가 일어나 캡슐화가 깨질 수 있다. 이러한 상황을 방지하기 위해 클래스 멤버들에는 가시성 변경자를 설정할 수 있도록 한다. 클래스 멤버에 설정 가능한 가시성 변경자는 4가지이다. public : 모든 곳에서 접근 가능 internal : 모듈 내부에서만 접근 가능 protected : 해당 클래스 멤버가 포함된 클래스를 상속받는 클래스에서 접근 가능 private : 같은 클래스 내부에서만 접근 가능 Internal :..
목적 최상위 선언의 가시성 변경자에 대해 이해한다. internal 가시성 변경자에 대해 이해한다. 최상위 선언에서의 가시성 변경자 최상위 선언에서는 3가지의 가시성 변경자를 쓸 수 있다. public : 기본 가시성 변경자이다. 모든 곳에서 접근 가능하다. internal : 같은 모듈 안에서만 접근 가능하다. Kotlin의 특별한 접근자로, 이 접근자를 통해 모듈화가 수월해진다. private : 같은 파일(.kt)안에서만 접근 가능하다. 최상위 선언에는 여러 class와 메서드(fun), 변수(val, var)이 들어갈 수 있는데, private으로 선언되었다면 같은 파일 안에서는 언제나 접근 가능하다. 아래에서 internal과 private 접근 제한자에 대해 살펴보자 Internal 접근 제한..
목적 최상위 선언의 가시성 변경자에 대해 이해한다. 클래스 멤버의 가시성 변경자에 대해 이해한다. 가시성 변경자 가시성 변경자는 클래스에 대한 외부 접근 권한을 제어한다. Kotlin에서는 4가지 가시성 변경자를 제공한다. public internal protected private Kotlin에서는 최상위 선언에서의 가시성 변경자와 클래스 멤버 선언에서의 가시성 변경자의 접근성이 달라진다. 먼저 공통적으로 적용되는 가시성 변경자인 public에 대해 알아보자. public public은 기본 가시성 변경자로, 어디에서나 접근 가능한 가시성 변경자이다. Kotlin에서는 아무것도 쓰지 않을 때 public이 기본 가시성 변경자로 설정된다. 이는 가시성 변경자를 쓰지 않을 때 default라는 별도의 가시..
Dev.Cho
'분류 전체보기' 카테고리의 글 목록 (91 Page)