백엔드

TIL 정리_52(OOP)

ran4 2022. 4. 8. 22:51

 

OOP(Object Oriented Programming) 객체지향 프로그래밍 

이전의 프로그래밍 패러다임은 중심이 컴퓨터에 있지만, 객체지향 프로그래밍은

현실세계를 프로그래밍으로 옮긴 인간 중심적 프로그래밍 방식이다 

 

 

특징

캡슐화 : 함수와 변수를 묶어 객체를 만들고 객체과 객체끼리 상호통신이 가능하도록 하며, 

캡슐 속 객체는 외부에서 참조할 수 없도록 하는 은닉화라는 특징을 갖는다 

상속성 : 부모클래스의 멤버를 자손클래스가 상속받는 것으로 코드의 재사용성을 의미한다

다형성 : 하나의 객체가 다양한 형태를 갖는다. 부모 클래스의 참조변수로 자손 클래스를 다룬다.

추상화 : 객체의 공통적인 기능이나 속성을 묶어 명시적인 이름을 부여하는 것으로 필요한 것은 사용하고

불필요한 것은 제거한다.

 

 

객체지향 프로그래밍 5대 원칙 정리

 

SRP(Single Responsibility Principle) : 단일 책임 원칙

-하나의 클래스(객체)는 하나의 책임만 갖는다, 변경하는 이유도 하나의 이유여야 한다.

 

OCP(Open-Closed Principle) : 개방 폐쇄 원칙

-다형성을 활용하여 역할과 구현을 분리한다

-확장에는 열려있고, 변경에는 닫혀있어야 한다

-->기존의 코드를 변경하지 않으면서 기능을 추가할 수 있어야 한다 

 

LSP(Liskov Substitution Principle) : 리스코프 치환 원칙

-객체는 정확성을 깨지 않으면서 하위 타입의 인스턴스로 변경 가능해야한다

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

 

ISP(Interface Segregation Principle) : 인터페이스 분리 원칙 

-하나의 클라이언트를 위한 인터페이스 여러개가 범용 인터페이스보다 낫다

--> 인터페이스를 클라이언트에 특화되도록 분리(배우는 맡은 배역만 수행해야지 캐스팅까지 맡아서는 안 된다)

 

DIP(Dependency Inversion Principle) : 의존관계 역전 원칙

-"추상화에 의존하고 구체화에 의존하지 마라"

-->의존관계를 맺을 때 변화하기 쉬운 것 또는 자주 변화하는 것보다는 변화하기 어려운 것, 거의 변화가 없는 것에 의존하라는 의미이다

 

'백엔드' 카테고리의 다른 글

TIL 정리_54  (0) 2022.04.10
TIL 정리_53(TDD)  (0) 2022.04.09