객체지향 프로그래밍 : 객체를 이용한 프로그램으로, 객체는 속성과 기능으로 구성된다.
객체 (object) = 속성(attribute) + 기능(function)
객체 만들기 (생성) : 객체는 클래스(class)에서 생성된다.
객체 사용의 장점 : 코드 재사용, 모듈화에 좋다.
객체 만들기

객체 생성

객체 복사에 대한 이해
#원본은 유지하고 객체 복사하는 방법
import copy
scores = [9, 8, 7, 6, 10]
scoresCopy = []
ex1)
scoresCopy = scores
print(f'id(scores): {id(scores)}')
print(f'id(scoresCopy): {id(scoresCopy)}')
ex2)
for s in scores:
scoresCopy.append(s)
print(f'id(scores): {id(scores)}')
print(f'id(scoresCopy): {id(scoresCopy)}')
ex3)
scoresCopy.extend(scores)
print(f'id(scores): {id(scores)}')
print(f'id(scoresCopy): {id(scoresCopy)}')
ex4)
scoresCopy = scores.copy()
print(f'id(scores): {id(scores)}')
print(f'id(scoresCopy): {id(scoresCopy)}')
ex5)
scoresCopy = scores[:]
print(f'id(scores): {id(scores)}')
print(f'id(scoresCopy): {id(scoresCopy)}')
‘__init__()’가 자동 호출된다. => ‘__init__()’가 속성을 초기화 한다.- 속성 초기화하여 사용 방법
P_Class.__init__(self, cNum1, cNum2)
super().__init__(cNum1, cNum2)
오버라이딩 : 하위 클래스에서 상위 클래스의 메서드를 재정의(override)한다.

추상 클래스 : 상위 클래스에서 하위 클래스에 매서드 구현을 강요한다.

예외 : 문법적인 문제는 없으나 실행 중 발생하는 예상하지 못한 문제이다.

예외 처리 : 예상하지 못한 예외가 프로그램 전체 실행에 영향이 없도록 처리함
Exception는 예외를 담당하는 클래스이다.
except Exception as e:
print(f'exception : {e}')
raise 키워드를 이용하면 예외를 발생시킬 수 있다.

사용자 예외 클래스 : Exception 클래스를 상속해서 사용자 예외 클래스를 만들 수 있다.
file = open('C:/pythonTxt/test.txt', 'w')
strCnt = file.write('hello!')
print(f'strCnt: {strCnt}')
file.close()
file = open('C:/pythonTxt/test.txt', 'r')
str = file.read()
print(f'str: {str}')
file.close()
with open(uri + '5_037.txt', 'a') as f:
with open(uri + 'languages.txt', 'a') as f:
f.writelines(item + '\n' for item in languages)
‘__init__()’ : 객체를 초기화하는데 사용“이 글은 제로베이스 데이터 취업 스쿨의 강의 자료 일부를 발췌하여 작성되었습니다.”