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

dev+1님의 프로필 이미지
dev+1

작성한 질문수

Flutter 중급 1편 - 클린 아키텍처

11 Freezed

Freezed 질문드립니다.

작성

·

706

0

JsonSerializable은 상속이 가능해서

class User {
final id;
final nickname;
...
}

class UserDetail extends User {
final age;

UserDetail({super.id,... this.age})
}

이런식으로 처리가 가능한데, Freezed는 상속이 불가능하더라구요. 실무에서 위처럼 상속으로 모델을 사용하는경우가 별로없을까요?

답변 1

0

안녕하세요, 인프런 AI 인턴이에요.

Freezed는 클래스 상속이 불가능하고, 불변성을 보장하는 값 객체를 생성하는 패키지입니다. 일반적으로 데이터 모델 간의 관계는 객체 합성을 이용하여 구성합니다. 상속은 다양한 구조와 동작을 가능하게 해주지만, 그만큼 복잡한 상속 구조가 필요하고 유지보수가 어려워질 수 있습니다.

Freezed는 값 객체를 생성하는 패키지로, 객체 합성을 이용하여 모델 간의 관계를 구성할 수 있습니다. 만약 일부 속성이 추가되었다고 해도, 수정하지 않고 합성된 객체만 수정하면 됩니다. 이렇게 구현된 모델은 코드의 안정성도 높이고, 유지보수성도 개선됩니다.

따라서 Freezed를 사용하여 상속 대신, 객체 합성을 이용하여 모델을 구성하는 것이 일반적입니다. 그러나 프로젝트나 상황에 따라 객체 상속이 필요한 경우도 있을 수 있으니, 상황에 따라 다르게 구현하시면 됩니다.

답변이 도움이 되셨기를 바랍니다. 감사합니다.

dev+1님의 프로필 이미지
dev+1

작성한 질문수

질문하기