본문 바로가기

Tech/파이썬

OOP

객체지향의 필요성

절차지향은 과도한 전역 변수의 사용, 스파게티 소스, 변경과 확장, 프로그램에 대한 이해가 어렵지만, 객체지향은 코드의 재사용성이 높다. 이러한 것을 OOP라고 칭한다.

 

 

클래스는 왜 필요한가?

Calculator 클래스로 만든 별개의 계산기 cal1, cal2(파이썬에서는 이것을 ‘객체’라고 부른다)가 각각의 역할을 수행한다. 그리고 계산기의 결괏값 역시 다른 계산기의 결괏값과 상관없이 독립적인 값을 유지한다. 이렇게 클래스를 사용하면 계산기 대수가 늘어나도 객체를 생성하면 되므로 함수만 사용할 때보다 간단하게 프로그램을 작성할 수 있다. 빼기 기능을 더하고 싶다면 Calculator 클래스에 다음과 같이 빼기 기능을 가진 함수를 추가하면 된다.

 

 

생성자

생성자(constructor)란 객체가 생성될 때 자동으로 호출되는 메서드를 의미한다. 파이썬 메서드명으로 __init__를 사용하면 이 메서드는 생성자가 된다.

 

 

상속 기능은 왜 쓰는 걸까?

보통 상속은 기존 클래스를 변경하지 않고 기능을 추가하거나 기존 기능을 변경하려고 할 때 사용한다. ‘클래스에 기능을 추가하고 싶으면 기존 클래스를 수정하면 되는데 왜 굳이 상속을 받아서 처리해야 하지?’라는 의문이 들 수도 있다. 하지만 기존 클래스가 라이브러리 형태로 제공되거나 수정이 허용되지 않는 상황이라면 상속을 사용해야 한다.

 

 

http://www.aladin.co.kr/shop/wproduct.aspx?ItemId=84000742

https://www.nextree.co.kr/p6960/

 

 

 

05-1 클래스

초보 개발자들에게 클래스(class)는 넘기 힘든 장벽과도 같은 존재이다. 독자들 중에도 클래스라는 단어를 처음 접하는 이들이 있을 것이다. 그러면 도대체 클래스가 무엇인지, 클…

wikidocs.net

 

 

 

객체지향과 절차지향

절차지향이란 말 그대로 절차를 따라 흘러가는 데이터의 흐름 방식을 의미한다. 데이터와 함수가 분리되고 통일성이 없지만, 객체지향은 조금 더 모듈화되어 체계적인 흐름을 의미한다. 절차지

velog.io

 

'Tech > 파이썬' 카테고리의 다른 글

Python 노래방  (0) 2024.06.25
Keras Tuner/Hyperparameter Tuning  (0) 2024.03.20
Bias / torch.empty  (0) 2024.01.22
Python Random Number Generator/난수 생성  (0) 2024.01.19









>