객체지향 프로그래밍 이념
# 프로그래밍 이념
어떻게 하면 프로그램을 더 좋게 만들 수 있을 것인가? 라는 이념 중 하나로 "더 좋은 프로그램"이라는 "신"을 향해서 다가가는 접근 방법
## 명령형 프로그래밍
명령문을 사용해서 프로그램이 어떠한 동작을 할지 순서대로 나열해서 프로그램을 만들자
>print("문자열")
>input("문자열")
## 선언형 프로그래밍
명령형 프로그래밍과 반대로 생각해도 괜찮음
><h1> 제목</h1>
# 절차적 프로그래밍
서브루틴, 프로시저, 함수
- 같은 코드를 여러번 작성하지 말고 함수를 만들어 사용하자
- GOTO구문, JUMP 구문을 사용하지 말고 함수를 사용하자
# 함수형 프로그래밍
함수는 수학적 개념, 순수 함수를 사용해야 한다
# 객체 지향 프로그래밍
여기서 더 좋은 프로그램 : 규모가 큰 프로그램
변수와 함수를 묶어 하나의 묶음으로 만들면 더 좋은 프로그램을 만들 수 있을 것이다.
객체지향 프로그래밍 배경
## 함수가 너무 많아서 발생한 폐해
- 무엇이 무엇을 하는 함수인지 모름
- 어떤 함수가 존재하는지 찾기도 힘듦
- 함수를 변경하려는데, 영향 범위를 추적하는 것이 힘듦
→ 대규모의 프로그램을 만드는 것이 힘들었음
## 예를들어 서점
서점에서는 수 많은 책이 존재해서 카테고리를 묶어 책을 소개
ex) 컴퓨터 관련 책 → 컴퓨터 관련 카테고리
## 함수를 카테고리로 묶으면?
## 그리고 주어(객체)를 기반으로 변수/함수를 모으면 어떨까?, 주어를 기반으로 카테고리를 묶으면 어떨까?
→ 객체 지향 프로그래밍
파이썬은 명령형 프로그래밍, 절차적 프로그래밍, 함수형 프로그래밍, 관심사로 카테고리 구분, 객체 지향 프로그래밍 을 모두 사용하고 있다.
댓글