TIL/객체지향

객체지향, 절차지향 이란?

야아옹 2020. 10. 15. 14:51

소프트웨어를 구현한다는것은 최정적으로는 소프트웨어를 구성하는 데이터와 데이터를 조작하는 코드를 작성하는것!

 

1. 절차 지향이란?

  : 데이터를 조작하는 코드를 별도로 분리해서 함수나 프로시저와 같은 형태로 만들고, 각 프로시저들이 데이터를 조작하는 방식으로 코드를 작성할 수 있을것이다. 프로시저는 다른 프로시저를 사용할 수도 있고, 각각의 프로시저가 같은 데이터를 사용할 수도 있다. 이렇게 프로시저로 프로그램을 구성하는 기법을 절차지향 프로그램이라 부른다.

 

 

각 프로시저는 데이터를 사용해서 기능을 구현하며, 필요에 따라 다른프로시저를 사용하기도 한다.

 

최초 프로그램 작성은 데이터에 따라 프로시저를 만드므로 쉬울수는 있으나, 데이터가 늘어나고, 타입이 변경이 되어지

서로 연관되어있는 프로시저 들을 모두 수정해야하기 때문에 유지보수에는 어려운점이 있다.

 

2. 객체 지향이란?

  : 데이터 및 데이터와 관련된 프로시저를 객체라고 불리는 단위로 묶으며, 객체는 프로시저를 실행하는데 필요한 만큼의 데이터를 가지며, 객체들이 모여 프로그램을 구성한다.

객체는 자신만의 데이터와 프로시저를 가지고 자신만의 기능을 제공하며, 각객체들은 서로 연결되어 다른객체가 제공하는 기능을 사용할 수 있게 된다. 객체는 다른 객체에 기능을 제공하기위해 프로시저를 사용하는데, 이때 프로시저는 자신이 속한 객체의 데이터에만 접근 가능하며, 다른객체에 속한 데이터에는 접근 할 수없다.

 

 

 

3. 결론?

 1. 절차 지향은 처음에 쉬울지는 몰라도 시간이 흐를수록 프로그램을 수정하기 어렵게 만드는 구조이다.

 2. 객체 지향은 최초에는 객체지향적으로 설계하는데 많은 노력이 들어갈 수있지만 프로그램을 상대적으로 쉽게 수정할 수 있는 유연함을 제공한다.

 

 

출처 : 개발자가 반드시 정복해야할 객체 지향과 디자인패턴

'TIL > 객체지향' 카테고리의 다른 글

객체 (Object)  (0) 2020.11.17