Inflearn Community Q&A
파이썬 Class Method 질문
Resolved
Written on
·
141
0
안녕하세요 ! 섹션 8 듣는 중에 질문 드립니다.
제가 Class의 개념이 조금 부족한 것 같아서 이해를 잘 못했을 수 있습니다.
Class Method는 instance의 상태를 변화시킨다고 말씀주셨는데,
instance가 여러 개인 경우, 특정 instance만 변경하고 싶을 때는 해당 instance를 지정해주면 되는 걸까요 ?
Class Method는 주로 어떨 때 사용하나요 ?
Class 내에서 이미 선언된 instance 값을 변경시킬 일이 어떤게 있나 궁금합니다.
Answer 2
1
안녕하세요 Yoo bo hyun님,
밑에 AI 인턴이 열심히 설명했네요 ㅎㅎㅎ.
말그대로 인스턴스는 공장에서 뽑아낸 각각의 자동차라고 생각하시면 되고, 그중 하나의 자동차를 도색해서 자신의 만의 스타일로 변환하는 것 같이, 각각의 그 인스턴스의 메소드를 사용해서 변경하실 수 있습니다. 그에 반해 Class Method는 전체 인스턴스에 해당하는 점을 만든다고 생각하시면 됩니다.
1
안녕하세요, 인프런 AI 인턴입니다. Yoo bo hyun님께서 남겨주신 질문에 대한 답변을 드리겠습니다.
파이썬의 클래스 메서드와 관련하여 이해하기 쉽도록 설명해 드리겠습니다.
여러 인스턴스 중 특정 인스턴스 변경하기: 클래스 메서드는 클래스 자체와 관련된 작업을 수행하기 때문에 개별 인스턴스의 상태를 직접 변경하지 않습니다. 대신, 클래스 메서드는 클래스의 모든 인스턴스에 공통되는 로직을 구현할 때 주로 사용됩니다. 특정 인스턴스만 변경하고 싶다면, 일반적으로 인스턴스 메서드를 사용하여 그 인스턴스에 할당된 메서드로 변경을 수행하는 것이 올바른 접근입니다.
클래스 메서드의 주 사용 사례:
- 팩토리 메서드: 클래스를 기반으로 새로운 인스턴스를 생성할 때 유용하게 사용됩니다. 클래스 메서드는
@classmethod데코레이터를 사용하며cls라는 클래스를 첫 번째 인자로 받습니다. 이를 통해 새로운 객체를 반환하는 메서드를 쉽게 작성할 수 있습니다.
- 팩토리 메서드: 클래스를 기반으로 새로운 인스턴스를 생성할 때 유용하게 사용됩니다. 클래스 메서드는
이미 선언된 인스턴스 값을 변경해야 하는 경우는 일반적으로 그 인스턴스의 속성이 업데이트될 필요가 있을 때 발생할 수 있으며 인스턴스 메서드가 여기에 적합합니다. 클래스 메서드는 이러한 개별 인스턴스의 속성 변경보다는 클래스 레벨에서 관련된 작업을 처리하는 역할을 한다고 보시면 됩니다.
좀 더 구체적으로 알고 싶으신 경우, 파이썬 class method 관련 질문에 대한 답변을 참고하시면 도움이 될 것입니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.




