W2AS2L
2023. 6. 30. 12:21
2023. 6. 30. 12:21
절차지향
- 절차지향이란 프로시저로 프로그램을 구성하는 기법이다.
- 프로시저는 대체로 데이터를 중심으로 구현한다.
- 단점은 데이터 타입이나 의미를 변경해야 할 때, 함께 수정해야 하는 프로시저가 증가하는 것이다.
객체지향
- 객체는 자신만의 데이터와 프로시저를 갖는다.
- 객체는 자신만이 기능을 제공한다.
- 객체들은 서로 연결되어 다른 객체가 제공하는 기능을 사용할 수 있다.
절차지향 vs 객체지향
설계 방식
- 절차지향 프로그래밍은 프로그램의 순서와 흐름을 먼저 세우고 필요한 자료구조와 함수들을 설계하는 방식
- 객체지향 프로그래밍은 자료구조와 이를 중심으로 한 모듈 들을 먼저 설계한 다음 이들의 실행 순서와 흐름을 조합하는 방식
목적
- 절차지향 언어를 사용한다면, 말 그대로 실행 순서, 즉 절차가 더 중심이 된다.
- 객체지향 언어를 사용한다면, 필요한 객체들의 종류와 속성등이 더 중점이 된다.
더 나은 설계는?
- 더 나은 설계란 없고, 비즈니스 모델의 성격에 따라 다를 뿐이다.
- 객체는 변수와 함수를 추상화 과정을 통해 좀 더 모듈화한 도구에 불과하다. 모듈화 함으로써 객체지향이 지닐 수 있는 강점인 정보은닉화, 상속 및 다형성을 통한 확장성과 재사용, 이를 기반한 생산성과 유지보수의 용이성이 OOP의 진정한 특징이자 정체성일지도 모른다.