Kotlin 기초 (3)
2023. 1. 1. 23:48ㆍ교내활동/Programming GURU2
반응형
- 클래스
- 변수(필드)와 메소드로 구성
- 객체지향 관점에서의 클래스
- 실 세계의 객체들이 가질 수 있는 상태와 행동을 담음
- 정적 필드(static field)
- instance를 생성하지 않고 class 자체에서 사용되면 변수
- companion object{} 안에 작성하여 정적 필드를 만듬
- 정적 메소드(static method)
- 메소드 또한 companion object{} 안에 작성
- instance를 생성하지 않고도 className.methodName()으로 호출하여 사용 가능
- 상수 필드
- 정적필드에 초깃값을 입력하고 const val로 선언
- 선언 후 값을 변경할 수 없음
- 상수필드는 대문자로 구성하는 것이 일반적임
- 클래스 안에 상수를 정의할 때 사용
- 클래스의 상속
- 기존의 클래스가 가지고 있는 것을 그대로 물려받으면서 필요한 필드나 메소드를 추가로 정의함
- 구조
- superclass(부모클래스)
- subclass(자식클래스) -> superclass의 필드와 메소드를 선언 없이 사용함
- method overriding -> superclass의 메소드를 무시하고 새로 정의함
- 추상 클래스
- 추상 클래스는 instance 생성 불가
- 추상클래스는 클래스 앞에 abstract 키워드를 붙여서 지정함
// instance화 var auto : Automobile = Automobile()
- 추상 메소드
- 본체가 없는 메소드
- 메소드 앞에 abstract 키워드를 붙여서 지정
- 추상 메소드를 포함하는 클래스는 추상 클래스로 지정해야 함
- 공통적으로 사용되는 기능을 추상 메소드로 선언하고, 추상 클래스를 상속받은 후 추상 메소드를 오버라이딩해서 사용하기 위함
- implement(구현하다) -> 추상 메소드를 오버라이딩 하다
- 변수의 다형성
- 서브 클래스에서 생성한 인스턴스를 자신의 클래스 변수에 대입할 수 있는 것을 의미
- 하나의 변수에 여러종류의 인스턴스를 대입할 수 있음
- 인터페이스
- 추상 클래스와 성격이 비슷함
- interface 키워드를 사용하여 정의하고 내부에는 추상메소드를 선언함
- 클래스에서 인터페이스를 받아 완성할 때 상속과 마찬가지로 ':인터페이스 이름' 형식을 사용함
- 인터페이스는 '상속받는다'고 하지 않고 '구현한다'고 함
- kotlin은 다중상속을 지원하지 않음
- interface를 이용해 다중상속과 유사하게 작성할 수 있음
반응형
'교내활동 > Programming GURU2' 카테고리의 다른 글
Android layout 기초 (2) (0) | 2023.01.02 |
---|---|
Android layout 기초 (1) (0) | 2023.01.02 |
Kotlin 기초 (4) (0) | 2023.01.01 |
Kotlin 기초 (2) (0) | 2023.01.01 |
Kotlin 기초 (1) (0) | 2023.01.01 |