marinred.log
로그인
marinred.log
로그인
(2023.2.3) Today_I_Learned_day-112
imRound
·
2023년 2월 3일
팔로우
0
TIL
절차지향(Procedural Programming)
순차적인 처리를 중요시하며, 프로그램 전체가 유기적으로 연결되도록 하는 프로그래밍 기법
장점
컴퓨터의 처리구조와 유사해 실행속도가 빠르다.
초기 프로그래밍 언어로, 컴퓨터 처리구조와 비슷하여 실행 속도가 빠르다.
단점
유지보수가 어렵다.
전체가 유기적으로 연결되어있다면 고장날 때 시스템 전체가 고장난다.
문제를 해결하기 위해서는 시스템 전체를 수리해야 하기에 유지보수가 까다로움
실행 순서가 정해져 있어 코드의 순서가 바뀐다면 동일한 결과를 보장하기 어렵다.
디버깅이 어렵다.
프로그램 이해가 어려워진다.
함수가 많아지면 어떻게 상호 작용을 해야하는지 이해하기 어려워진다.
대표언어
FORTRAN
COBOL
PASCAL
C
BASIC
객체지향(Object Oriented Programming)
컴퓨터 프로그래밍의 한가지 기법으로 객체를 만들고 객체를 사용하는 프로그래밍 방법
특징
캡슐화
하나의 객체에 대해 그 객체가 특정한 목적을 위한 필요한 변수나 메소드를 하나로 묶는 것
데이터와 코드의 형태를 외부로부터 알 수없게 한다.
보호된 변수는 getter나 setter 등의 메소드를 통해서만 간접적으로 접근이 가능하다.
상속
상위 클래스의 모든 것을 하위 클래스가
모두
이어 받는 것!
부모의 특징을 자식에게 물려준다는 생각
다형성
상속을 통해 기능을 확장하거나 변경하는 것을 가능하게 해준다.
다형성은 형태가 같으나 다른 기능을 하는 것을 의미한다.
예) 오버로드(Overload), 오버라이딩(Overriding)
오버로딩(Overloading): 메소드의 이름을 같고 매개변수의 객수나 타입이 다른 함수를 정의하는 것
오버라이딩(Overriding): 상속 받은 하위 클래스가 메소드의 내용만 변경(재정의)하는 것
추상화
객채의 공통적인 속성과 기능을 추출하여 정의하는 것이다.
실제로 존재하는 객체들을 프로그램으로 만들기 한 특성을 파악하여 필요없는 특성을 제거하는 과정
장점
코드의 재활용성이 높다.
상속을 통하여 프로그래밍시 코드의 재사용을 높일 수 있다.
코딩이 절차지향보다는 간편하다.
디버깅이 절차지향보다 쉽다.
생산성이 향상된다.
잘 설계된 class를 만들어서 독립적인 객체를 사용하여 개발의 생산성을 향상할 수 있다.
유지보수의 우수성
프로그램 수정 시 추가, 수정을 하더라도 캡슐화를 통하여 주변 영향이 적기 때문
단점
처리속도가 절차지향보다 느리다.
모든 객체의 역할과 기능을 이해해야 하기 때문에 프로그래밍에 많은 시간이 소요된다.
설계에 많은 시간소요가 들어간다.
실행속도가 느린 편이다.
대표적인 언어
JAVA
Swift
C++
Python
imRound
Django 개발자
팔로우
이전 포스트
(2023.2.2) Today_I_Learned_day-111
다음 포스트
(2023.2.3) Today_I_Learned_day-112
0개의 댓글
댓글 작성