본문 바로가기
IT, 프로그래밍, 네트워크 각종정보

Pair 코틀린 문법 소개 Data Class (1) 첫번째 (Kotlin, 프로그래밍, 안드로이드, 주식자동매매)

by 쿨꾸7 2020. 10. 7.
반응형

코틀린에서는 Pair 와 Triple 이라는 표준형 데이터 클래스를 사용할 수 있습니다.

그중 2가지 객채를 한번에 다루는 Pair에 대해 먼저 소개해 드리도록 하겠습니다.

 

▶ Data Class의 소개

 

데이터 클래스로 정의가 될 경우 인스턴스로 생성되었을때,

equals(), hashCode(), toString(), componentN(), copy() 함수등이 자동으로 생성되여 연산이 가능합니다.

 

이러한 데이터 클래스 (Data Class)로 다양한 형태의 데이타를 손쉽게 관리하고 인스턴스 사이의 비교, 연산 작업을 통해 생산성을 극대화 할 수 있습니다.

 

일반적으로 데이터 클래스를 정의 할때는 아래와 같은 기준을 가지고 설계 하여야 합니다.

 

- 데이터 클래스를 다른 클래스로 확장 불가

- 데이터 클래스는 abstract, open, sealed, inner 클래스 등으로 적용 불가

- 모든 기본 생성자들은 val 또는 var로 지정 필요

- 기본 생성자는 최소 하나의 매개변수 파라미터가 필요

 

▶ Pair 사용 예제

 

그럼 먼저 Pair의 사용 예제를 소개해 드리도록 하겠습니다.

 

// 초기화 방법 1
val pairA = Pair<Int, Int>(1000000, 1000000000)
val pairB = Pair<String, String>("helloworld", "koreanpeople")
val pairC = Pair<int, String>(1000000000000, "koreanpeople")

// 초기화 방법 2
val pairD = Pair(1000000, 1000000000)
val pairE = Pair("helloworld", "koreanpeople")
val pairF = Pair(1000000000000, "koreanpeople")

// 객체 접근 방법 1
System.out.println(pairA.first)
System.out.println(pairA.second)

System.out.println(pairB.first)
System.out.println(pairB.second)

System.out.println(pairC.first)
System.out.println(pairC.second)

// 객체 접근 방법 2
System.out.println(pairA.component1())
System.out.println(pairA.component2())

System.out.println(pairB.component1())
System.out.println(pairB.component2())

System.out.println(pairC.component1())
System.out.println(pairC.component2())

 

먼저 pairA, pairB, pairC의 경우 명확하게 데이터 형까지 지정해서 초기화를 하였습니다.

먼저 pairD, pairE, pairF의 경우 파이썬에서와 같이 형지정 없이 초기화가 가능합니다.

 

코틀린에서 pair 데이터 클래스의 각 밸류는 first, second로 접근이 가능합니다.

코틀린에서 pair 데이터 클래스의 접근은 component1, component2 함수로도 동일하게 접근 가능합니다.

 

▶ 결론

 

간단한 표준 라이브러리 데이터클래스에 대해서 소개해 드렸는데요, 연산, 비교도 손쉽게 가능하기 때문에 다음 순서에 이어서 소개해 드리도록 하겠습니다.

반응형