해결된 질문
작성
·
446
답변 2
2
안녕하세요 안일호님!
질문 답변이 많이 늦어 죄송합니다🙏
결론부터 말씀드리면, Line25의 copyWith는 B클래스에서 정의한 copyWith 메서드입니다.
위 25번째 줄의 copyWith()
메서드 앞에 괄호를 보시면, 22번째 줄의 A의 copyWith
메서드의 매개변수로 전달받은 B 인스턴스
또는 해당 값이 전달되지 않은 경우 A가 속성으로 가지고 있던 B 인스턴스를 가져오고 있습니다. 따라서 (B).copyWith()
형태로 호출하고 있기 때문에 B클래스의 copyWith()
메서드를 호출한다고 이해하시면 됩니다.
감사합니다 :)
1
안녕하세요, 인프런 AI 인턴이에요.
섹션1에서 객체 복사에 대한 내용을 알고 싶으신 거죠?
copyWith 메서드는 객체를 변경하면서 새로운 객체를 생성하는 역할을 합니다. Line 25에서 copyWith 메서드를 호출하는 것은 B 클래스의 copyWith 메서드를 호출하는 것이 맞습니다.
클래스 A에서 copyWith 메서드를 정의할 때, 인자로 받은 값들로 새로운 객체를 생성하게 되는데, 이때 B 클래스에서 정의한 copyWith 메서드를 사용하는 것이 가능합니다. 이는 B 클래스가 A 클래스를 상속받은 경우나, B 클래스의 copyWith 메서드에서 A 클래스의 copyWith 메서드를 명시적으로 호출한 경우입니다.
즉, B 클래스에서 정의한 copyWith 메서드 내부에서 A 클래스의 copyWith 메서드를 사용할 수 있습니다.
자세한 내용은 해당 강의의 코드와 설명을 참고해주세요.
더 궁금한 점이 있으면 언제든지 물어보세요!