본문 바로가기
[ Developer Story ]/- 개발자팁

절차지향프로그래밍 vs 객체지향 프로그래밍 차이

by MRG 2024. 8. 31.
728x90
반응형

▣ 절차지향 프로그래밍 (Procedural Programming)
개념: 절차지향 프로그래밍은 프로그램을 일련의 절차나 단계별로 나눠서 개발하는 방식입니다. 주요 개념은 함수와 루틴을 통해 코드를 순차적으로 실행하는 것입니다.
특징:
순차적 실행: 코드가 위에서 아래로 순차적으로 실행됩니다.
함수 사용: 작업을 함수로 분리하여 재사용할 수 있습니다.
데이터와 함수의 분리: 데이터와 이를 처리하는 함수가 명확히 구분되어 있습니다.
장점: 코드가 간단하고 이해하기 쉽습니다.
단점: 코드의 재사용성 및 확장성이 낮고, 프로그램이 커질수록 유지보수가 어려워집니다.

 

https://en.cppreference.com/w/c/language

 

C language - cppreference.com

 

en.cppreference.com

 

https://en.cppreference.com/w/c/memory

 

Dynamic memory management - cppreference.com

Dynamic memory management [edit] Functions [edit] See also <!-- NewPP limit report Preprocessor visited node count: 1661/1000000 Preprocessor generated node count: 4279/1000000 Post‐expand include size: 54553/4194304 bytes Template argument size: 7897/41

en.cppreference.com

 

 

 

▣ 객체지향 프로그래밍 (Object-Oriented Programming, OOP)
개념: 객체지향 프로그래밍은 프로그램을 객체(데이터와 그 데이터를 처리하는 메서드의 집합)로 나누어 개발하는 방식입니다. 주요 개념은 클래스와 객체, 상속, 다형성, 캡슐화입니다.
특징:
클래스와 객체: 프로그램을 클래스와 객체 단위로 나눠서 개발합니다.
상속과 다형성: 상속을 통해 기존 클래스를 확장할 수 있으며, 다형성을 통해 객체가 동일한 인터페이스를 통해 서로 다른 동작을 할 수 있습니다.
캡슐화: 데이터와 메서드를 하나의 객체로 묶어 외부에서 접근을 제어합니다.
장점: 코드의 재사용성, 유지보수성, 확장성이 높습니다.
단점: 개념이 복잡하여 초기 학습 곡선이 높고, 작은 프로그램에 적용하기에는 불필요한 오버헤드가 발생할 수 있습니다.

 

https://learn.microsoft.com/en-us/dotnet/csharp/fundamentals/types/classes

 

Classes in the C# type system. - C#

Learn about class types, how to use classes, and how to create new class type declarations for your app.

learn.microsoft.com

https://learn.microsoft.com/en-us/dotnet/csharp/fundamentals/object-oriented/inheritance

 

Objected oriented programming - inheritance - C#

Inheritance in C# enables you to create new classes that reuse, extend, and modify the behavior defined in other classes.

learn.microsoft.com

https://learn.microsoft.com/en-us/dotnet/csharp/programming-guide/classes-and-structs/abstract-and-sealed-classes-and-class-members

 

Abstract and Sealed Classes and Class Members - C#

The abstract keyword in C# creates incomplete classes and class members. The sealed keyword prevents inheritance of previously virtual classes or class members.

learn.microsoft.com

 

728x90
반응형

'[ Developer Story ] > - 개발자팁' 카테고리의 다른 글

스팀 게임 출시 가이드  (1) 2024.08.28
10진, 2진수 바꾸기  (0) 2023.03.21
Visual Studio 컴파일 오류 해결방법  (0) 2023.02.15
C vs C++ 입출력 차이  (0) 2022.12.08
API란 무엇을까요?  (0) 2022.08.15

댓글