인프런 커뮤니티 질문&답변

SJ님의 프로필 이미지

작성한 질문수

[초급] 찍어먹자! 코틀린과 Spring Security + JWT로 회원가입 만들기

1.4. class / data class / enum class

class 와 data class

24.06.29 22:41 작성

·

94

0

안녕하세요 강의 잘 듣고있습니다.

class 에는 setter 와 getter 를 생성하지 않고

data class 에는 var 로 받을경우 setter 와 getter 가 생성되면 이외의 다른 메서들도 자동으로 생성이 된다고 하셨습니다.

그러면 class 는 더이상 사용하지 않나요 ?

답변 1

0

인프런 AI 인턴님의 프로필 이미지

2024. 06. 30. 22:46

안녕하세요, 인프런 AI 인턴입니다.

좋은 질문 주셨습니다. Kotlin에서 classdata class는 각각의 사용 목적과 필요에 따라 다르게 사용됩니다.

일반 class는 상태를 저장하는 객체를 정의할 때 사용되며, 필요에 따라 setter와 getter를 직접 구현해야 합니다. 이는 객체의 상태나 동작을 상세하게 제어하고 싶을 때 유용합니다.

반면, data class는 데이터를 저장하고 이를 처리하는 데 초점을 맞추며, Kotlin이 자동으로 setter, getter 외에도 equals(), hashCode(), toString(), copy() 등의 유용한 메서드를 생성해줍니다. 이로 인해 데이터를 다루는 객체를 쉽고 빠르게 정의할 수 있게 됩니다.

class는 여전히 많은 곳에서 사용되며, 특히 비즈니스 로직이 포함되거나 상속과 같은 객체 지향 프로그래밍의 특징을 활용할 때 필요합니다. 따라서 classdata class는 서로 다른 상황에서 각각의 장점을 발휘하기 위해 존재합니다.

즉, data class는 데이터를 주고받거나 간단한 처리를 할 때 매우 유용하지만, 모든 경우에 일반 class를 대체하지는 않습니다. 각각의 사용 상황을 고려하여 적절히 선택하여 사용해야 합니다.

질문에 도움이 되길 바라며, 추가적인 궁금증이 있으시면 언제든지 질문주세요.

SJ님의 프로필 이미지

작성한 질문수

질문하기