
- 객체는 class로 부터 생성(in 메모리)되어 호출된다
- 변수에는 (객체 데이터가 직접 담기는 것이 아니라) 객체가 메모리의 어느 위치에 저장되어 있는지를 표시하는 메모리 주소를 저장하는 것임
= 즉, 주소값을 갖고 객체를 참조하는 이런 변수를 '레퍼런스 변수'라고 부름



[ 실습 1]
국어, 영어, 수학 점수를 입력받아 리스트에 저장하고 원본을 유지한 상태로, 복사본을 만들어 과목별 점수를 10% 올렸을 경우에 평균을 출력해보자.
- [참고] copy( ) 함수를 이용하여 복사본 만들기

- 얕은 복사 : 객체 주소를 복사하는 것, 객체 자체가 복사되지는 않음
(1개의 레퍼런스 변수, 2개의 객체)
즉, 객체 주소를 복사하는 것으로 객체 자체가 복사되는 것이 아님- 깊은 복사 : 객체 자체를 복사하는 것, 또 다른 하나의 객체를 생성하는 것을 의미함
(2개의 레퍼런스 변수, 2개의 객체)
[ 실습 2 ]
선수의 원본 점수를 이용해서 평균을 출력하고, 최고값과 최저값을 제외한 평균을 출력하는 프로그램을 만들어 보자.
- [참고] sort( ) 함수를 이용하여 리스트 오름차순으로 정리


<예시>
객체가 생성될 떄 생성자를 호출하면 init()가 자동 호출됨

[참고] 모듈 관리시, 실행(메인) 파일을 구분지어주기 위한 명령어
if name == "main"
- 기능은 상속만 하면 바로 사용가능
- but 속성은 init()가 호출되어야 속성이 초기화될 수 있음
즉, 상위 클래스의 init()를 호출하기 위하여 super( )를 이용, 강제로 호출해야 함.
