inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

Flutter 앱 개발 실전

객체 복사

커스텀 클래스 깊은복사 - copyWith

해결된 질문

528

안일호

작성한 질문수 7

1

섹션1 / 객체 복사 / 14:15~14:32

Line25에서 copyWith 메서드가 A클래스의 copyWith를 쓰는건지, B 클래스에서 정의한 copyWith 메서드를 호출하게 되는 건지 궁금합니다!

후자라면, 클래스 A에서 copyWith를 정의하는 과정에서 어떻게 B의 메서드를 끌어쓰게 되는건지 궁금합니다!

dart copywith

답변 2

2

DevStory

안녕하세요 안일호님!

질문 답변이 많이 늦어 죄송합니다🙏

결론부터 말씀드리면, Line25의 copyWith는 B클래스에서 정의한 copyWith 메서드입니다.

image위 25번째 줄의 copyWith() 메서드 앞에 괄호를 보시면, 22번째 줄의 A의 copyWith 메서드의 매개변수로 전달받은 B 인스턴스 또는 해당 값이 전달되지 않은 경우 A가 속성으로 가지고 있던 B 인스턴스를 가져오고 있습니다. 따라서 (B).copyWith() 형태로 호출하고 있기 때문에 B클래스의 copyWith() 메서드를 호출한다고 이해하시면 됩니다.

감사합니다 :)

1

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴이에요.
섹션1에서 객체 복사에 대한 내용을 알고 싶으신 거죠?
copyWith 메서드는 객체를 변경하면서 새로운 객체를 생성하는 역할을 합니다. Line 25에서 copyWith 메서드를 호출하는 것은 B 클래스의 copyWith 메서드를 호출하는 것이 맞습니다.
클래스 A에서 copyWith 메서드를 정의할 때, 인자로 받은 값들로 새로운 객체를 생성하게 되는데, 이때 B 클래스에서 정의한 copyWith 메서드를 사용하는 것이 가능합니다. 이는 B 클래스가 A 클래스를 상속받은 경우나, B 클래스의 copyWith 메서드에서 A 클래스의 copyWith 메서드를 명시적으로 호출한 경우입니다.
즉, B 클래스에서 정의한 copyWith 메서드 내부에서 A 클래스의 copyWith 메서드를 사용할 수 있습니다.
자세한 내용은 해당 강의의 코드와 설명을 참고해주세요.
더 궁금한 점이 있으면 언제든지 물어보세요!

6강에 비디오가 이상해요

0

23

1

질문있습니다!

0

18

0

SEO에 대해

1

60

2

실로폰 음원 재생 오류 해결 (do.1.wav)

1

72

2

Emulate Device Frame 관련 질문입니다.

0

89

2

감사합니다!!

0

54

2

전체 코드 받을 수 있나요?

0

98

1

강의 듣는 중 얻은 경험 공유.

1

91

1

역시,, 클린 코드가 중요하네요..

0

66

1

seo 강의

0

86

2

코드 효율성 질문

0

48

1

124강 DB에 Todo 등록

0

78

1

webview import가 원활하지 않습니다 도와주세요

0

117

3

webview 버전

0

105

2

섹션3. 비만도계산기 문자열 입력가능 오류 관련

0

92

2

appbar 오류

0

62

2

mac 사용자만 들으면 되는 강의인가요?

0

64

2

Error: Unable to find git in your PATH.

0

185

2

60. 053. 결과화면 작성

0

58

1

구글지도 사용에서

0

50

2

todo리스트 강의중에서..

0

66

2

강의가 오래 된거 같은데

1

78

2

const 적용

0

49

1

context 관련 질문입니다!

1

481

1