상식닷컴
로그인
가입하기
2026년 상식닷컴 선정 식당 & 카페 리스트
2025년 2026년 신상 호텔 리스트
최근에 오픈한 호텔을 찾는다면 살펴보세요
일주일 식단표 어플
자동 일주일 식단표 어플
안드로이드
아이폰
주식 & 코인 차트의 신
1000만원으로 2000만원 만들기 프로젝트
궁금한 상식 보기
PDO 인증을 위한 국제 기준은 무엇인가요?
페낭의 유명한 해양 스포츠 대회는 어떤 것이 있나요?
호텔의 청소 및 유지보수 관리에서 중요한 점은 무엇인가요?
호텔의 인테리어 디자인이 고객 경험에 미치는 영향은 무엇인가요?
호텔의 서비스 운영에서의 고객 중심 접근 방식은 무엇인가요?
소아마비와 관련된 영양 관리 방법은 무엇인가요?
소아마비와 관련된 법률 및 정책은 어떤 것이 있나요?
소아마비 예방을 위한 공공 캠페인은 어떻게 진행되나요?
소아마비와 관련된 사회적 차별은 어떤 것이 있나요?
12세기 중세 유럽의 종교적 관습은 어떤 것이 있었나요?
연방준비제도의 통화정책 수단은 무엇인가요?
연방준비제도의 통화정책이 경제 회복에 미치는 영향은 어떤가요?
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순위입니다.
수정하기
취소하기