본문 바로가기
[Kotlin] OOP - 4 ▶ 인터페이스(Interface) 인터페이스는 클래스기능을 확장해주는 역할을 한다. 예를 들어, Drivable이라는 interface를 만든다면 다음과 같이 만들 수 있다. 여기서 특이한 점이 보이는데 함수의 body가 존재하지 않아 구현된 것이 없는 것을 확인할 수 있다. 즉, 인터페이스는 모든 Property와 function을 구현해줄 수는 있지만, 반드시 그래야 하는 것은 아니다. 만약, 특정 클래스가 해당 인터페이스의 기능을 extend한다면, 인터페이스에 만들어진 Property를 입력해야 한다. 이에 따라서 특정 인터페이스(Drivable)를 extend하는 Class(Car)의 형태는 다음과 같이 구성될 수 있다(maxSpeed를 override 하는 모습). 또한, Child Class.. 2023. 3. 28.
[Kotlin] OOP - 3 ▶Data Class data class는 다음과 같이 쓸 수 있다. 다만, 기본 생성자에는 최소 하나의 파라미터가 있어야 한다. 즉, Class User()과 같이 쓸 수가 없다. 또한, open, abstract, sealed, inner 와 함께 쓸 수 없다. 예를 들면, open data class User(~~) 과 같이 쓸 수 없다. 위와 같은 클래스에서 다음과 같이 name값을 임의로 수정할 수 있다. 또한, data class에서는 equals로 객체간 비교가 가능하다. 또한, Data Class에는 toString method가 깔려있다. int값도 그냥 String 변환없이 그대로 출력가능하다. 또한, copy 메서드를 가지고 있어서, 값을 복사할 수 있는데, 다음과 같이 옵션을 줘서 .. 2023. 3. 27.
[Kotlin] OOP - 2 ▶ Member variables - Properties / Member functions - Methods member variables는 class안의 변수이다. 만약 Person이라는 class에서 age와 hobby라는 member variables를 사용하고 싶다면 다음과 같이 선언할 수 있다. Member function은 class 안의 함수이다. 만약 위에서 설정한 취미를 출력하는 함수를 만든다면 다음과 같이 만들 수 있다. 해당 Method를 사용하고 싶으면 간단하게 내가 선언한 클래스 뒤에 . 을 붙여서 사용할 수 있다. hobby 변수를 바꾸고 싶다면 (클래스명).hobby로 접근해서 수정할 수 있다. 즉, 클래스 선언 후 해당 클래스의 Member variables에 접근해서 수정하.. 2023. 3. 27.
[Kotlin] OOP - 1 ▶ 클래스와 초기화 Person이라는 Class를 만들고 값에 파라미터 두개를 받도록 만들면 다음과 같이 만들 수 있다. 객체 생성 시, init을 통해 초기화를 해줄 수 있는데, 초기화는 해당 객체가 생성될 때 자동으로 호출된다. 따라서, 클래스가 생성될 때마다 받는 파라미터를 통해 정보를 출력하는 예제를 만들면 다음과 같다. 만약, 객체 생성 시에 디폴트값을 가지게끔 만들고 싶다면 다음과 같이 만들 수도 있다. 예시와 같이 lastName값만 지정해서 초기화를 할 수도 있다. ▶ 클래스 예제 1 (MobilePhone Class 만들기) ▶ Scope, Shadowing 함수나 객체를 실행하면서, 이미 선언한 변수에 대한 값을 변경할 수 있는데 이를 함수 밖 영역의 수가 가려진다(shadowing)하.. 2023. 3. 24.
[Kotlin] Nullable ▶ Nullable Kotlin은 변수가 null값을 가질 수 있을지 없을지 선언할 수 있는 능력을 제공한다. 예를 들어, String으로 변수를 선언을 했을 시에는, 해당 변수에서는 null값을 사용할 수 없다. null값을 넣고 싶다면, 이때 등장하는 것이 nullable 개념이다. 끝에 물음표를 붙여서 String?으로 선언할 시에는 해당 변수의 값으로 null을 사용할 수 있게 바뀐다. 만약, Null값을 가질수도 있는 변수의 길이를 구한다고 가정을 하면, 예전에는 if문을 통해서 다음과 같이 나타내는 것이 정석이었다. 하지만, Kotlin에서는 ?를 활용해서 바로 길이를 구할 수 있다. Safe call operator : 'let'을 활용하여, 변수가 null이 아닐 때 출력하게끔 만들 수도 .. 2023. 3. 24.
[Kotlin] 흐름 제어문 (if, when, while, for) ▶ If문 If(~~){}else if(~~){}else{} 와 같이 활용한다. 소괄호 안은 Boolean 타입으로 참일 경우 중괄호 안의 조건식을 수행하는 형식이다. 또한, if와 else if문의 조건이 중첩된다면, 앞부분의 조건에 따른 식만 수행한다. 예시는 다음과 같다. 또한, 중괄호를 활용하지 않아도, 다음 한 줄은 if문으로 인식한다 다음과 같이 활용할 수 있다. ▶ When문 C, C++, C#, Java의 switch 문이 대체된 것이다. 문법형식은 when(x){~~}와 같다. 예를 들어 3이라는 수에 Fall과 Autumn을 출력하게끔 만들고 싶다면 다음과 같이 만들 수 있다. in (범위) 와 같이 범위에서 특정 조건을 설정할 수도 있다. 또한, !를 in 앞에 붙이면 해당 범위를 제.. 2023. 3. 24.