-
78 - (파이썬) 객체 지향 프로그래밍study with Q - 파이썬 2024. 8. 26. 19:04
# 1. 프로그래밍 이념
: 더 좋은 프로그램을 향해서 다가가는 접근 방법
: 어떻게 하면 프로그램을 더 좋게 만들 수 있을 것인가
강의에서는 종교라고도 했는데 날으는 스파게티 괴물교도 아니고... 그냥 열정 넘치는 신념 정도로 생각하면 되지 않을까약간... 부먹파 찍먹파.. 막먹파 정도나 붕당정치 정도...## 1-1. 객체 지향 프로그래밍
- 변수와 함수를 묶어서 하나의 묶음으로 만들면 더 좋은 프로그램(aka 규모가 큰 프로그램)을 만들 수 있을 것이다.
## 1-2. 절차적 프로그래밍
: 서브루틴, 프로시저, 함수
- 같은 코드를 여러 번 작성하지 말고 함수를 만들어서 사용하자!
- GOTO 구문, JUMP 구문을 사용하지 말고 함수를 사용하자! (파이썬 라잌댓)
## 1-3. 함수형 프로그래밍
- 함수는 수학적 개념
- 순수 함수❤️를 사용해야 한다!
+) 파이썬의 map, filter, 람다, 리스트 내포, 제너레이터 표현식 등등은 함수형 프로그래밍에 영향을 받는 문법들
## 1-4. 명령형 프로그래밍
: 명령문을 사용해서 프로그램이 어떠한 동작을 할지 순서대로 나열해서 프로그램을 만들자.
(영어로 예를 들자면, 주어+동사+목적어에서 주어를 빼는 것. eg) I print paper. > Print paper.)
어디서 많이 본 것 같다면 그게 맞음
print("Hello world") input("정수를 입력하시오.> ")
여담) 근데 다 그런거 아녀...?
더보기> 아녀...!
## 선언형 프로그래밍
: 함수형 프로그래밍도 선언형 프로그래밍의 분파
: 명령형 프로그래밍과 반대되는 개념
파이썬은 위의 네가지의 신념의 집합체 (aka 다신교, 회색분자)
객체 지향 프로그래밍이 나오기 전까지는 절차적, 함수형, 명령형 프로그래밍이 주류였답니다.
> 이러한 이념을 기반으로 함수를 만들어서 쓰는 것이 개발의 거대한 흐름이 됨. 이러한 흐름을 만들 때 사람들이 함수를 마구마구 만들어냄.
>> 함수가 너무 많아서 발생한 폐혜가 발생!
- 너 뭐하는 애니?
: 무엇이 무엇을 하는 함수인지 알 수 없음
- 이런 작동을 하는 함수가 있기는 하니?
: 어떤 함수가 존재하는지 찾기도 힘듦
- 너의 영향력은 어디까지니?
: 함수를 변경하려는데, 영향 범위를 추적하는 것이 힘듦.
→ 대규모의 프로그램을 만드는 것이 힘들어졌기 때문에 아주 기본적인 해결방법을 생각해낸다.
해결방법 : 2. 함수를 카테고리로 묶자!
.... 무슨 기준으로?## 2-1. 관심사 기준
수학 Math❤️
Math.PI()
Math.abs()
Math.sin()
Math.cos()
## 2-2. 주어(객체)를 기반으로 변수/함수 모으기
> 우리는 이걸 객체 지향 프로그래밍이라고 부르기로 했어요.
정리하자면-
파이썬은
## 명령형 프로그래밍
## 절차형 프로그래밍
## 함수형 프로그래밍
## 관심사로 카테고리 구분
## 객체 지향 프로그래밍
위의 모든 것을 섞어섞어 만들었구요,
그중
## 관심사로 카테고리는 [모듈]로
##객체 지향 프로그래밍은 [클래스]로 구분됩니당
'study with Q - 파이썬' 카테고리의 다른 글
80 - (파이썬) 클래스 문법 기본 (4) 2024.08.27 79 - (파이썬) 클래스 등장 이전 (0) 2024.08.26 77 - (파이썬) 예외 강제 발생 (0) 2024.08.21 76 - (파이썬) 예외 객체와 예외 구분 (0) 2024.08.21 75 - (파이썬) 예외 처리의 else finally 구문 (0) 2024.08.21