견고한 객체 지향 프로그래밍단일 책임 원칙단일 책임 원칙 적용 I

Q

engine 인스턴스의 자기자신 self의 의미?

조회 353

좋아요 5

2020년 7월 21일




A
1개의 답변이 있어요



2020년 7월 21일

댓글 2

2020년 7월 22일
그러면 Engine클래스의 init문속 __init__(self, fuel_tank, fuel_per_hour )의 self 는 ship1 을 의미한다는 것인데, 이 init 문안에서 print(self) 하면 <__main__.Engine object at 0x00A1C778>로 나와 Engine CLASS의 object 인것 처럼 보입니다. 그러면 engine 인스턴스가 아닌가요?
2020년 7월 22일
아 engine 클래스의 init은 당연히 engine 클래스 안에 있는거잖아요? Engine 클래스 안에서 self는 자신을 뜻하는 거라 self 곧 Engine 클래스로 만들어진 인스턴스를 의미합니다.

위쪽 질문에선 Ship 클래스에서의 self를 질문하셨었는데 두가지는 다릅니다. self는 어떤 인스턴스인지를 나타내는 거라 인스턴스마다 다른 값을 가집니다.

(주) 코드잇

대표강영훈

개인정보보호책임자강영훈

이메일support@codeit.kr

사업자 번호313-86-00797

통신판매업제 2019-서울중구-1034 호

주소서울특별시 중구 청계천로 100 시그니쳐타워 동관 10층 코드잇