Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- pycon
- 징검다리 건너기
- 튜플
- trie
- CleanCode
- 크레인 인형뽑기 게임
- 프로그래머스
- 티스토리
- 불량 사용자
- 카카오 인턴
- 호텔 방 배정
- 티스토리 open api
- Python
- 알고리즘
- 트라이
- Open API
- jdbc
- 트라이 #trie #알고리즘
- Spring Boot
- 보행자 천국
- 가사 검색
- Tistory
- bulk update
Archives
- Today
- Total
택시짱의 개발 노트
객체지향과 절차지향 차이 본문
절차지향 프로그래밍 방법 - 기능 중심 , Top Down
- 단순히 순서대로 명령을 수행하는 것을 의미하는 것이 아닌 프로시저 호출의 개념을 바탕으로 하는 구조적 프로그래밍의 일종
언어 : C언어 / COBOL/ Pascal ....
장점
1. 컴퓨터 처리방식과 유사하기 때문에 속도가 빠르다.
2. 모듈 구성이 용이하다
단점
1. 유지보수가 어렵다.
2. 코딩순서가 바뀌면 결과값을 도출하기 어렵다.
3. 프로그램 분석이 어렵다.
객체지향 프로그래밍 방법 - 데이터 중심, Bottom Up
- 객체를 생성하여 객체끼리 관계를 맺음으로써 다수의 객체가 함께 수행될 수 있게 한다.
언어 : C++ / C# / JAVA ...
캡슐화
- 실제로 구현부분을 외부에 드러나지 않도록 하는것
- 변수와 메소드를 하나로 묶음
- 데이터를 외부에서 직접 접근하지 않고 함수(getter, setter)를 통해서 접근
상속
- 자식클래스가 부모클래스의 특성과 기능을 물려받는것
- 기능의 일부분을 변경하는 경우 자식클래스에서 상속받아 사용 또는 수정
- 상속은 캡슐화를 유지하고 클래스의 재사용이 용이하도록 한다.
추상화
- 인터페이스로 클래스들의 공통적인 특성(변수, 메소드)들을 묶어 표현하는것
다형성
- 어떤 변수, 메소드가 상황에 따라 다른 결과를 나타내는것
장점
1. 유지보수가 쉽다.
2. 자연적인 모델링
3. 코드 재활용이 가능하다.
단점
1. 개발속도가 느리다.
2. 실행속도가 느리다.
3. 코딩 난이도 상승. ㅎㅎ
OOP 5대 원칙 ( SOLID )
S(SRP : 1. Single Responsiblity Principle )(단일 책임 원칙)
- 소프트웨어의 설계 부품(클래스, 함수 등)은 단 하나의 책임만을 가져야 한다.
O(OCP : Open-Closed Principle (개방-패쇄 원칙)
- 기존의 코드를 변경하지 않고(Closed) 기능을 수정하거나 추가할 수 있도록(Open) 설계해야 한다.
L(LSP : Liskov Substitution Principle)
- 자식 클래스는 부모클래스에서 가능한 행위를 수행할 수 있어야 한다.
I(Interface Segregation Principle) (인터페이스 분리 원칙)
- 한 클래스는 자신이 사용하지 않는 인터페이스는 구현하지 말아야 한다. 하나의 일반적인 인터페이스보다는, 여러 개의 구체적인 인터페이스가 낫다.
D(DIP : Dependency Inversion Principle) (의존 역전 원칙)
- 의존 관계를 맺을 때, 변화하기 쉬운것 보단 변화하기 어려운 것에 의존해야 한다는 원칙이다
반응형
Comments