__init__()함수 여러번 사용과 자바와의 차이점
569
작성한 질문수 18
안녕하세요. __init__ 함수와 자바와의 차이점에 대해 질문이 있습니다.
1. 파이썬에서 class를 생성할 때 __init__함수를 한번에 여러번 사용할 수도 있나요?
2. 자바에서는 예를들어 클래스(ReaderBook)를 생성하고 객체를 생성할 때 ReaderBook member1 = new ReaderBook(); 이라는 방식으로 생성하는데 이 방식이 파이썬에서 선생님이 self를 이용하여 만든 두번째 방식과 동일한건가요? 자바에서의 인스턴스변수와 약간 헷갈립니다.
감사합니다.
답변 1
1
좋은 질문 감사드립니다.
답변 드리겠습니다.
1. 파이썬에서 class를 생성할 때 __init__함수를 한번에 여러번 사용할 수도 있나요?
아마 자바에서 인수 개수를 다르게 하여 여러 생성자를 작성하는 메서드 오버로딩(overloading)을 생각하고 계시는 듯 한데요. 파이썬에는 이런 개념이 없습니다.
다만, 자바와는 다르게 인수를 선택적으로 입력한다던지, 기본값을 지정한다던지 하는 방식을 사용하면 유사하게 구현할 수는 있습니다.
2. 자바에서는 예를들어 클래스(ReaderBook)를 생성하고 객체를 생성할 때 ReaderBook member1 = new ReaderBook(); 이라는 방식으로 생성하는데 이 방식이 파이썬에서 선생님이 self를 이용하여 만든 두번째 방식과 동일한건가요? 자바에서의 인스턴스변수와 약간 헷갈립니다.
질문이 약간 이해가 안되기는 하는데요.
굳이 자바와 비교하시려면, 클래스 정의문 안에서 this를 사용하듯이, 파이썬에서는 self를 메서드 첫번째 인수로 넣고 사용하는 개념입니다.
질문에서와 같이 자바로 객체를 만드시면, member1 변수에 생성된 객체가 대입되겠죠. 이 변수와 인스턴스 변수와는 다른 개념입니다. 파이썬의 인스턴스 변수는 클래스 안에서 __init__() 메서드 안에서 생성할 수 있는 일종의 지역 변수인 개념입니다.
답변이 되었나요?
질문 드립니다.
0
25
2
노션 링크
0
24
3
주피터 노트북 실행에 질문있습니다.
0
441
1
단축키 질문 있습니다!
0
316
2
질문
1
247
1
맥북에서 개발자가 만든 모듈 저장을 어떻게 해야 하나요?
0
241
0
주피터 창이 뜨지 않습니다
1
363
1
pip 설정
1
453
1
if문 elif 사용
0
296
1
pdf파일을 받을 수 있는지요?
1
308
1
메서드와 함수를 사용하여 생성되는 데이터
1
222
1
dict의 활용
1
246
1
혹시 new data에서 인덱싱 새롭게 set할때, 인덱싱하려는 컬럼의 key값이 없으면 어떻게 할까요?
1
320
2
pip 외부 라이브러리 설치와 관련된 질문입니다.
1
875
1
idle에서 코드 실행하면 string 은 부를수 없다고 나옵니다
1
249
1
pdf 자료 문의
1
555
2
주피터노트북은 클라우드서비스인지 여쭤보고 싶습니다.
1
1212
2
부동소숫점에 대해서 질문있습니다!
2
280
2
문법에서의 띄어쓰기는 어떤의미를 갖나요?
2
668
2
PART 04 숫자타입을 배워보자 '생각해봅시다'질문
2
197
1
역슬래시 기호
2
489
3
답변 감사드립니다 주신대로 해보았더니 다음과 같이 나오네요 확인부탁드려요
2
255
1
pandas 설치시 다음과 같은 에러가 나고 있습니다 ㅠㅠ
1
24837
5
강의 순서가 바뀌었어요
2
297
1





