반응형
Notice
Recent Posts
Recent Comments
Link
«   2024/05   »
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 29 30 31
Archives
Today
Total
관리 메뉴

undefined

객체 지향형 프로그래밍 본문

CS

객체 지향형 프로그래밍

JavaScripter 2022. 9. 8. 16:39
반응형

인간 중심적 프로그래밍 (Object Oriented Programming)

 

현실의 객체에서 특징들을 뽑아와서 프로그래밍하는것 ⇒ 추상화

코드의 재사용성이 높고 잘만들어 놓으면 버그의 발생률이 줄어든다

객체간에 메세지 교환을 통해 정보교환이 이루어지므로 시스템에 overhead가 발생할 수 있지만

하드웨어가 발전해나가면서 그점이 보완 되어왔다

 

치명적 단점 ⇒ 객체가 상태를 갖는 것 .. / 상태때문에 변수가 생성되고 이러한 변수 때문에 버그를 일으킨다.

이를 해결하기 위하여 함수형 프로그래밍이 등장하게 되었다.

 

 

<객체 지향형 프로그래밍의 설계 원칙>

 

1. 단일 책임의 원칙

 

하나의 클래스는 하나의 책임을 진다. 또한 클래스를 변경하는 이유는 하나의 이유여야 한다.

 

2. 개방-폐쇄의 원칙

 

확장에는 개방, 변경에는 폐쇄

 

3. 리스코프 치환의 원칙

 

부모 객체를 실행함에 있어 자식객체가 부모객체를 대체할 수 있다.

상위 타입의 객체를 하위 타입의 객체로 치환해도 상위 타입을 사용하는 프로그램은 작동해야한다.

 

4. 인터페이스 분리의 원칙

 

인터페이스는 사용하는 클라이언트 기준으로 분리한다.

 

5. 의존 역전의 원칙

 

고수준의 모듈(혹은 클래스)은 저수준의 모듈(혹은 클래스)에 의존하여서는 아니된다.

 

 

 

출처: https://github.com/JaeYeopHan/Interview_Question_for_Beginner/tree/master/Development_common_sense

반응형

'CS' 카테고리의 다른 글

사용자 로그인 인증 방법 알아보기 - React Authentication  (0) 2022.10.21
WEB CS 기술면접 대비 간단 정리  (0) 2022.10.20
MVC 아키텍쳐  (0) 2022.09.11
Test Driven Development (TDD)  (0) 2022.09.11
REST API  (0) 2022.09.08
Comments