• 절차지향? 객체지향?

    2021. 2. 14.

    by. ziasu

    반응형

    절차 지향과 객체지향은 <프로그래밍 패러다임>의 종류들이라고 볼 수 있습니다.

     

    프로그래밍 패러다임(Programming Paradigm)이란...

    • 소프트웨어 구조를 바라보는 관점
    • 프로그래밍 방법론
    • 종류로는 절차 지향, 객체지향 등등이 있다.

     

    절차 지향 프로그래밍(Procedural Programming)이란...

    • 최대한 기계의 입장에서 사고하기 때문에 위에서 아래로, 순차적으로 처리한다. ex) 빅맥을 만들 때는 번을 깔고 양상추를 올리고 고기를 올리고 마지막으로 번을 덮는다.
    • 전체적인 기능 동작을 고려하여 각 단계별로 구현한다.
    • 기계의 입장을 최대한 배려하였기 때문에 컴파일링이 빠르다.
    • 대형 프로젝트이면 코드 구조가 상당히 복잡해질 수 있다.

    객체 지향 프로그래밍(Object-Oriented Programming)이란...

    • 절차를 따르긴 하지만 '객체'가 더 강조된다.
    • 객체들을 먼저 만들어 놓고 입맛에 맞게 객체들을 조립하여 시스템을 구현
    • 인간의 관점에서 사고를 시작하였기 때문에 코드 가독성이 더 뛰어나다.
    • 클래스 단위로 작업하기 때문에 코드 재사용이 쉽고 여러 사람들이 협업하는 대형 프로젝트에 적합
    • 컴퓨터의 관점이 아니기 때문에 처리속도가 상대적으로 느리다.

    사실 학교에서 JAVA를 배울 때 객체지향과 절차지향에 대해서 간략하게 배운 적이 있습니다. 그때는 뭐 '이런 뜬구름 같은 개념들을 왜 배워야 하지?' 이런 생각에 대충 들었었는데 ㅋㅋㅋㅋㅋㅋ 

    절차 지향과 객체지향의 차이를 짧게 말하자면

    데이터를 다루는 관점의 차이가 있기 때문에 그로 인해 각기 다른 특징들을 가진다. 정도로 할 수 있을 것 같습니다.

     

    반응형

    댓글