제로베이스 (17) 썸네일형 리스트형 9. 오버라이딩 오버라이딩이란? 오버라이딩이란 하위 클래스에서 상위 클래스의 메서드를 재정의(override)한다. 중복되는 코드를 줄 일 수 있다. 8. 초기화 ✅ 초기화? - 초기화란? 초기화(initialization)란 객체를 선언하고 값을 '최초'로 할당하는 것이다. int a = 10; --> 선언과 동시에 초기화한 것 이후에 a = 20; 이렇게 주면 값을 바꾸는 할당(allocation)이 된다. - 초기화를 하는 이유 클래스 영역에 선언한 변수들은 실행 시 초기화를 하지 않아도 int 타입에 String을 넣는다거나 혹은 String 타입에 int를 넣는 에러를 방지하기 위해 컴파일러에서 아래에 출력한 0, null 등의 값을 자동으로 할당해준다. 그러나 메소드 안에서는 자동으로 값 할당이 되지 않기 때문에 에러를 발생시킨다. 즉, 메소드 영역에서 선언할 경우 자동으로 값이 할당되지 않기 때문에 초기화를 하는 것이다. 7. 상속 6. 객체 지향 프로그래밍 객체는 클래스의 생성자를 호출한다. 객체와 메모리 변수는 객체의 메모리 주소를 저장하고 이를 이용해서 객체를 참조한다. 얕은 복사 객체 주소를 복사하는 것으로 객체 자체가 복사되지 않는다. 깊은 복사 객체 자체를 복사하는 것으로 또 하나의 객체가 만들어진다. 5. site-packages ❔ site-packages란? 아무리 모듈화를 하고 패키지화를 해도 다른 가상환경이라면 사용하지 못한다. 이 때, 모든 가상환경에서 쓸 수 있는 패키지를 만드는 방법이 site - packages 다. import sys for path in sys.path: print(path) 위와 같은 코드를 입력하면 다음과 같은 화면이 출력된다. (물론, 컴퓨터마다 출력되는 내용은 다를 것이다.) 여기에 보면 lib\site-packages란 폴더가 있다. 바로 여기에 모든 가상환경에서 사용할 패키지 혹은 모듈을 옮겨놓으면 된다. 4. __name__ 전역변수 __name__ = '__main__' --> 실행(메인)파일 이라고 부른다. 여러 개의 파일이 있을 때 파이썬 내부에서 시작점을 찾을 때 사용된다. ✅ 실행 파일을 명확하게 해주지 않으면 발생하는 문제 실행 파일을 시작할 때 import 해 온 모듈들 속 함수들이 불필요하게 작동한다. def add(n1, n2): return n1 + n2 print(f"__name__ : {__name__}") 위와 비슷한 모습의 add, sub, mul, div 모듈이 있을 때, import addModule import subModule import divModule import mulModule print(addModule.add(10, 20)) print(subModule.sub(10, 20)) print(m.. 3. import, from ~ import 그림과 같이 calculator 란 모듈을 만들었다고 가정하자. import import calculator calculator.add(10, 20) calculator.div(10, 20) 모듈의 이름과 함께 그 안에 속한 함수도 적어줘야 작동이 된다. from ~ import 1. from calculator import add add(10,20) 이런 식으로 모듈에서 하나의 함수만 불러와서 쓸 수도 있고, 2. from calculator import * add(10,20) sub(10,20) 이런 식으로 * 을 사용해 전체를 불러와 모듈 이름 없이 함수 이름만 써서 사용할 수도 있다. 2. global 키워드 global global을 사용하면 함수 안에서도 전역변수의 값을 수정할 수 있다. num_out = 10 def printNumbers(): global num_out num_out = 20 print(f'num_out: {num_out}') printNumbers() print(f'num_out: {num_out}') ## num_out: 20 ## num_out: 20 이전 1 2 3 다음