코틀린 (7) 썸네일형 리스트형 [Kotlin] 클래스의 종류(3) - 캠피니언 클래스 캠피니언 클래스는 멤버 변수나 함수를 클래스 이름으로 접근하고자 할 때 사용한다. -> 캠피니언 클래스를 객체를 생성하지 않고 클래스 이름으로 특정 멤버를 이용 가능하다. companion 키워드를 사용하여 만들 수 있다. class MyClass (){ companion object { var data = 10 fun some() { println(data) } } } fun main() { MyClass.data = 20 MyClass.some() } 위 예시 코드처럼 object 키워드를 사용하여 캠피니언 클래스를 만들며 Myclass로 멤버에 접근할 수 있게 만들어준다. [Kotlin] 클래스의 종류(2) - 오브젝트 클래스 오트젝트 클래스는 익명 클래스를 목적으로 만든다. -> 클래스를 선언하면서 동시에 객체 생성을 해야한다. object 키워드를 사용하여 만들 수 있다. open class Super { open var data = 10; open fun some(){ println("i am super some() : $data") } } val obj = object:Super() { override var data = 20 override fun some() { println("i am object some() : $data") } } fun main() { obj.data = 30 obj.some() } 위 예시 코드처럼 object 키워드를 사용하여 멤버 변수와 함수를 포함한 클래스를 선언하며, 선언과 동시에 객.. [Kotlin] 클래스의 종류(1) - 데이터 클래스 데이터 클래스는 data 키워드를 선언하여 자주 사용하는 데이터를 캡슐화 해준다. 보통 데이터 클래스를 VO 클래스라고 지칭하기도 한다. equals(), hashCode(), toString() 등의 메서드가 있다. ->나중에 더 자세하게 다뤄보기로 하겠습니다. :) data 키워드를 사용하여 data 클래스를 이용하면 객체의 데이터 비교할 때 훨씬 편리하다. 데이터 클래스는 데이터를 다루는 데 편리한 기능을 제공하는 것이 주목적이며, 주 생성자에 val,var 키워드로 매개변수를 선언하여 클래스의 멤버 변수로 활용하는 것이 일반적이다. equals() 함수를 이용하여 변수의 데이터 값을 비교 할 수 있으며, ->equals() 함수는 주생성자에서 선언한 데이터들만 비교한다. data class Dat.. [Kotlin] 접근 제한자 접근 제한자란 클래스의 멤버를 외부의 어느 범위까지 이용하게 할 것인지를 결정하는 키워드이다. 물론 코틀린에서는 변수나 함수를 클래스로 묶지 않고 소스 파일의 최상위에 선언 할 수 있고, 접근 제한자로 이용 범위를 지정할 수 있다. 접근 제한자 최상위에서 이용 클래스 멤버에서 이용 public 모든 파일에서 가능 모든 클래스에서 가능 internal 같은 모듈 내에서 가능 같은 모듈 내에서 가능 protected 사용 불가 상속 관계 하위클래스에서 가능 private 파일 내부에서 가능 클래스 내부에서 가능 *키워드와 접근 범위를 나타낸 표이다. - public 키워드는 접근 제한이 없어 어디서든 접근이 가능하다. -> 코틀린에서는 접근 제한자를 생략하면 기본적으로 public이 된다. - interna.. [Kotlin] 상속 클래스를 선언할 때 다른 클래스를 참조해서 선언하는 것을 상속이라 한다. 상속을 통해 코드의 재사용성을 높일 수 있으며, 상위 클래스에서 정의된 기능을 하위 클래스에서 추가하거나 변경할 수 있다. 코틀린에서 상속을 사용하기 위해서는 open 키워드를 사용하여 상속이 가능하도록 명시해야 한다. open class Super{ } class Sub : Super() { } 상속 대상이 되는 클래스가 상위 클래스라 하고 상속 받는 클래스를 하위 클래스라 한다. 상속 받을 때 하위 클래스 뒤에 : (콜론) 상위 클래스를 입력해야 한다. [Kotlin] 변수 코틀린 변수의 종류에 대해 정리해보겠습니다. 멤버 변수 - 클래스 내부에 선언되고, 클래스의 모든 메소드에서 사용할 수 있는 변수 - 주로 클래스의 상태를 나타냄 전역 변수 - 직접적으로 전역 변수를 정의 할 수 없다. (전역 변수의 개념은 패키지의 변수를 선언하는 것으로 대체) -> 패키지 수준의 변수는 해당 패키지 내의 모든 클래스의 사용 가능하다. -> 프로그램에 사용되는 자원관리와 라이브러리, 플러그인과 출동 문제가 있을 수 있어 전역변수의 사용을 줄인다. 인스턴스 변수 - 클래스의 인스턴스에 속하는 변수 - 클래스 내부에 선언되고, 해당 클래스의 모든 메소드에 접근 가능하다. 매개 변수 - 함수나 메소드에 전달되는 값이다. - 함수나 메소드가 호출될 때 해당 매개 변수로 사용한다. // 클래스 .. [Kotlin] 클래스 코틀린에서 클래스는 객체 지향 프로그래밍의 기본적인 구성 요소 중 하나이다. 객체의 상태는 클래스의 속성이나 필드로 표현되며, 객체의 행위는 클래스의 메서드로 표현된다. 코틀린에서 클래스는 class 키워드로 선언합니다. class Chae { } { } 안 영역이 본문이다. 만약 클래스의 본문에 내용이 없다면 생략 가능하다. 이전 1 다음