탑다운 vs 다운탑

황희윤·2023년 6월 9일
0

초창기 많이 쓰이는 개발 방법은 선택, 반복 등의 단순한 제어문을 사용하며 함수를 기반으로 코드를 계층화하는 것이였다. 큰 문제를 잘게 나누어 분할 점령(Divide & Conquer)하는 탑다운(Top Down) 설계 방식을 사용하여 다음과 같이 절차대로 소프트웨어를 작성하고 유지한다.

탑다운 설계의 장점

  • 꼭 필요한 코드만 최소한으로 포함되어 코드가 간결하고 크기가 작고 속도도 월등히 빠르다.

분석 -> 설계 -> 구현 -> 테스트 -> 보수

큰 문제 -> 작은 문제 -> 함수 (if, while, for 문 등)

탑다운 설계의 한계
1. 절차를 중요시하여 데이터를 소홀히 다룬다
2. 완성만을 목적으로 하여 유지 보수 편의성의 한계가 있다.
3. 기존 코드의 재사용이 번거롭고 완벽하지 않다.
4. 익숙한 개발자를 양성하는 데 오랜 시간이 소요된다.

이러한 단점을 보완하기 위해 나온 것이 객체지향이다.
속성과 메서드로 구성된 객체를 먼저 작성하고 객체를 조립하여 프로그램을 완성하는 바텀업(Bottom up) 방식을 채용한다.

객체 -> 객체 집합 -> 프로그램

객체를 잘 만들어 놓으면 초급 개발자도 쉽게 배우 실무에 투입 가능하다. 재사용성이 좋아 관리가 편하다.

객체지향의 단점
1. 항상 객체 전체를 다 포함하므로 프로그램이 비대하고 느리다.
2. 객체를 설계하고 만드는 것이 어렵다.

profile
HeeYun's programming study

0개의 댓글