Dinoryong / issues

Issue logs
2 stars 0 forks source link

객체지향 Object-Oriented vs 절차지향 Procedural #14

Open Dinoryong opened 2 years ago

Dinoryong commented 2 years ago
  절차지향(POP) 객체지향(OOP)
영문명 Procedure Oriented Programming Object Oriented Programming
접근 방식 Top-Down (시스템 동작 방식을 먼저 생각, 그 다음 세부 모델 디자인) Bottom-Up (세부 모델 디자인 후 조립)
구현 관점 전체적인 기능 동작을 고려 ↓ 각 단계별로 기능을 구현 필요한 속성의 객체를 설계 (보안성, 데이터, 함수 등) ↓ 각 객체의 상호작용(절차)을 설계
구성 요소 함수 객체
접근 제어 없음(전부 Public) Public, Protected, Private
오버로딩, 다형성 불가능 함수, 생성자, 연산자 등을 오버로딩 가능
상속 불가능 가능(Public, Protected, Private)
보안성 낮음 높음
데이터 공유 모든 함수가 공유 가능 객체 간 멤버함수로만 공유
Friend 함수 없음 C++에 있음
가상 클래스, 가상 함수 없음 상속 개념 아래 존재함
예시 언어 C, Visual Basic, Fortran, Pascal C++, Java, VB.NET, C#, Python
장점 컴퓨터 눈높이로 구성된 문법으로 바닥부터 입맛대로 설계하기 좋습니다. 인간 눈높이에서 구조를 파악하기가 좋습니다. 또한 객체 기능을 제공하므로 코드를 절약할 수 있습니다.
단점 프로젝트가 커질 시 구조가 복잡해지고 중복 코드를 작성할 수도 있습니다. 제공된 객체 기능에서 발생하는 오버헤드를 최적화 할 수 없다면 상대적으로 느려집니다.
용도 자원이 한정되어 있거나 바닥부터 설계할 필요가 있는 프로젝트에 사용됩니다. 규모가 크고 협업이 잦으며 생산성이 중시되는 프로젝트에 사용됩니다.

출처: https://usefultoknow.tistory.com/entry/절차지향Procedural-Programming-객체지향Object-Oriented-Programming-장단점-및-차이점 [UsefulToKnow:티스토리]절차지향(POP) 객체지향(OOP) 영문명 Procedure Oriented Programming Object Oriented Programming 접근 방식 Top-Down (시스템 동작 방식을 먼저 생각, 그 다음 세부 모델 디자인) Bottom-Up (세부 모델 디자인 후 조립) 구현 관점 전체적인 기능 동작을 고려 ↓ 각 단계별로 기능을 구현 필요한 속성의 객체를 설계 (보안성, 데이터, 함수 등) ↓ 각 객체의 상호작용(절차)을 설계 구성 요소 함수 객체 접근 제어 없음(전부 Public) Public, Protected, Private 오버로딩, 다형성 불가능 함수, 생성자, 연산자 등을 오버로딩 가능 상속 불가능 가능(Public, Protected, Private) 보안성 낮음 높음 데이터 공유 모든 함수가 공유 가능 객체 간 멤버함수로만 공유  Friend 함수 없음 C++에 있음 가상 클래스, 가상 함수 없음 상속 개념 아래 존재함 예시 언어 C, Visual Basic, Fortran, Pascal C++, Java, VB.NET, C#, Python 장점 컴퓨터 눈높이로 구성된 문법으로 바닥부터 입맛대로 설계하기 좋습니다. 인간 눈높이에서 구조를 파악하기가 좋습니다. 또한 객체 기능을 제공하므로 코드를 절약할 수 있습니다. 단점 프로젝트가 커질 시 구조가 복잡해지고 중복 코드를 작성할 수도 있습니다. 제공된 객체 기능에서 발생하는 오버헤드를 최적화 할 수 없다면 상대적으로 느려집니다. 용도 자원이 한정되어 있거나 바닥부터 설계할 필요가 있는 프로젝트에 사용됩니다. 규모가 크고 협업이 잦으며 생산성이 중시되는 프로젝트에 사용됩니다.