파이썬 Class Method 질문
안녕하세요 ! 섹션 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 관련 질문에 대한 답변을 참고하시면 도움이 될 것입니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
[업데이트] 파이썬 패키지 부분에서 안되어서 강의 진행 불가
2
59
3
html 읽기 오류
1
89
2
DataFrame groupby 사용관련 질문
1
90
2
pylint shell 사용법
0
71
2
자막오류 수정가능한가요?
0
78
1
복합 조건절 관련 궁금증
0
78
2
49.행맨 프로그램 - 재시도 횟수 관련.
1
76
1
64. 파이썬 입문자가 쉽게 빠지기 쉬운 몇가지 에러(혹은 로직)에 대해 알아보기
0
103
2
Replit UI가 업데이트 되서 강의 진행이 멈췄어요
2
178
3
Replit을 사용해보려고 하는데 영상처럼 진행이 안되네요
3
404
2
실무에서의 제네레이터 함수 사용에 관한 질문입니다.
0
64
2
영상이 소리만 나오고 영상은 안보입니다.
0
85
2
pandas 오류 질문
0
125
2
상속 질문
1
132
2
total을 float으로 바꾸신 이유
0
200
2
섹션2 ["환경 vs. 설정 vs. 구성"] 강의 자막 문의
0
141
1
파이썬 data insert to table
0
221
2
timeit 쓸 때는 만들었던 함수를 재사용 할 수는 없는지?
0
131
2
__repr__ 와 __str__ 차이점?
0
204
2
class method vs static method
0
270
2
Type hint 문법의 Type Checking이 강제성이 있는지?
0
164
2
클래스 접근자 강의 복습부분 0:47에 오타가 있네요
0
104
2
수업 때 쓰셨던 txt file 공유 해주시면 좋겠습니다
1
177
1
shallow copy 질문 있습니다.
1
250
3

