상식닷컴
로그인
가입하기
2026년 상식닷컴 선정 식당 & 카페 리스트
2025년 2026년 신상 호텔 리스트
최근에 오픈한 호텔을 찾는다면 살펴보세요
일주일 식단표 어플
자동 일주일 식단표 어플
안드로이드
아이폰
주식 & 코인 차트의 신
1000만원으로 2000만원 만들기 프로젝트
궁금한 상식 보기
뉴올리언스의 전통 음악은 어떤 것이 있나요?
뉴올리언스의 유명한 음악 페스티벌은 언제 열리나요?
Rails에서 데이터베이스의 외래 키를 설정하는 방법은 무엇인가요?
Elixir에서 모듈을 만드는 방법은?
비잔티움 제국의 종교적 갈등은 어떤 것이 있었나요?
헬리코박터균 감염의 치료 후 재검사가 필요한 이유는 무엇인가요?
러스트에서 `enum`과 `struct`의 차이점은 무엇인가요?
러스트에서 `rustfmt`는 무엇인가요?
티눈이 생기는 원인으로 잘못된 신발 사이즈가 영향을 미치나요?
족발의 유래는 무엇인가요?
코스타리카에서의 로컬 음식 체험은 어떻게 하나요?
아파트 분양 시 보증금 반환 조건은 무엇인가요?
Previous
Next
수정하기 - 코틀린에서 데이터 클래스의 주 생성자는 어떻게 정의하나요?
닉네임
비밀번호
제목
내용
[이미지 업로드는 권한이 있는 사람만 가능. 하단 카톡으로 연락]
코틀린(Kotlin)에서 데이터 클래스(data class)는 주로 데이터를 저장하기 위한 클래스를 간편하게 정의할 수 있도록 도와주는 특별한 형태의 클래스입니다. 데이터 클래스는 <a href='https://sangseek.com/sangseeks/주 생성자/ko'>주 생성자</a>(primary constructor)를 통해 속성(properties)을 정의하고, 자동으로 `equals()`, `<a href='https://sangseek.com/sangseeks/hashCode()/ko'>hashCode()</a>()`, `toString()`, `copy()` 메서드를 생성해줍니다. 이러한 기능 덕분에 데이터 클래스를 사용하면 코드의 가독성을 높이고, 반복적인 작업을 줄일 수 있습니다. 데이터 클래스의 주 생성자 정의하기 데이터 클래스의 주 생성자는 클래스 이름 뒤에 괄호를 사용하여 정의합니다. 이 괄호 안에 속성을 정의하면, 해당 속성들은 자동으로 클래스의 프로퍼티가 됩니다. 데이터 클래스의 주 생성자는 다음과 같은 형식으로 작성됩니다: ```kotlin data class ClassName(val property1: Type1, val property2: Type2, ...) ``` 여<a href='https://sangseek.com/sangseeks/기서/ko'>기서</a> `ClassName`은 데이터 클래스의 이름이며, `property1`, `property2`는 클래스의 속성이고, `Type1`, `Type2`는 각 속성의 데이터 타입입니다. 예제 아래는 간단한 데이터 클래스를 정의하는 예제입니다: ```kotlin data class Person(val name: String, val age: Int) ``` 위의 예제에서 `Person` 데이터 클래스는 두 개의 속성 `name`과 `age`를 가지고 있습니다. `name`은 문자열(String) 타입이고, `age`는 정수(Int) 타입입니다. 데이터 클래스의 특징 1. 자동 생성되는 메서드 : 데이터 클래스를 정의하면, 코틀린 컴파일러가 자동으로 `equals()`, `hashCode()`, `toString()`, `copy()` 메서드를 생성합니다. 예를 들어, `toString()` 메서드는 다음과 같은 형식으로 생성됩니다: ```kotlin override fun toString(): String { return "Person(name='$name', age=$age)" } ``` 2. 불변성(Immutable) : 데이터 클래스의 프로퍼티는 기본적으로 `val`로 선언되며, 이는 불변성을 제공합니다. 만약 <a href='https://sangseek.com/sangseeks/가변성/ko'>가변성</a>을 원한다면 `var`로 선언할 수 있습니다. 3. 구조 분해(Destructuring) : 데이터 클래스는 구조 분해 선언을 지원합니다. 이를 통해 클래스의 속성을 쉽게 추출할 수 있습니다. ```kotlin val person = Person("Alice", 30) val (name, age) = person println("Name: $name, Age: $age") ``` 4. 상속 : 데이터 클래스는 다른 클래스를 상속할 수 없습니다. 즉, 데이터 클래스는 반드시 최상위 클래스여야 하며, 다른 클래스를 상속받을 수 없습니다. 5. 주 생성자에 기본값 제공 : 데이터 클래스의 주 생성자에서 각 속성에 기본값을 제공할 수 있습니다. 이렇게 하면 객체를 생성할 때 모든 속성을 제공하지 않아도 됩니다. ```kotlin data class Person(val name: String = "Unknown", val age: Int = 0) ``` 결론 코틀린의 데이터 클래스는 데이터를 간편하게 표현하고 조작할 수 있는 강력한 도구입니다. 주 생성자를 통해 속성을 정의하고, 자동으로 생성되는 메서드 덕분에 코드의 가독성과 유지보수성을 높일 수 있습니다. 데이터 클래스를 활용하면 객체 지향 프로그래밍의 이점을 최대한 활용하면서도 간결한 코드를 작성할 수 있습니다.
이용안내
커뮤니티 이용안내
×
- 게시한 게시글로 발생하는 문제는 게시자에게 책임이 있습니다.
- 게시글이 타인/타업체의 저작권을 침해할 경우 모든 책임은 게시자에게 있습니다. 게시자가 모든 손해를 부담해야 합니다.
- 상식닷컴 운영자는 게시자와 상의하지 않고 게시글을 수정 또는 삭제할 수 있습니다.
- 상식닷컴 운영자는 깨끗한 커뮤니티 공간을 만드는 것이 1순위입니다.
수정하기
취소하기