10개 프로젝트로 완성하는 백엔드 웹개발 3회
객체지향 프로그래밍 특징 4가지
1. 추상화 (Abstraction)
-> 불필요한 부분 제거함으로써 필요한 핵심만 남기는 것
목적은 복잡성을 낮추기 위해 사용한다.
2. 다형성 (Polymorphism)
-> 다양한 형태를 가지는 것
하나의 타입으로 여러 종류의 객체를 참조하는 것
3. 캡슐화 (Encapsulation)
-> 객체 내부의 세부사항을 외부로 부터 감춘다.
목적은 인터페이스만 공개해서 변경하기 쉽도록 한다
4. 상속 (Inheritance)
-> 부모로 물려받은 것
객체지향 설계 원칙 5가지 (SOLID)
1. SRP : Single Responsibility Principle (단일 책임의 원칙)
-> 하나의 책임을 가진다
2. OCP : Open/Closed Principle (개방 폐쇄의 원칙)
-> 기존 코드를 변경하지 않고 기능을 추가할 수 있어야 한다.
3. LSP : Liskov’s Substitution Principle (리스코프 치환의 원칙)
-> 상위 타입의 객체를 하위 타입의 객체로 치환해도 동작에 문제가 없어야한다.
4. ISP : Interface Segregation Principle (인터페이스 분리의 원칙)
-> 많은 기능을 가진 인터페이스를 작은 단위로 분리 시킴으로써
클라이언트에게 필요한 인터페이스만 구현하도록 한다는 개념
5. DIP : Dependency Inversion Principle (의존성 역전의 원칙)
-> 의존관계를 맺을 때 자주 변경되지 않는 것에 의존해야한다
객체지향이란?
-> 적절한 객체에게 적절한 책임을 할당하여 서로 메시지를 주고 받으며 협력하도록 하는 것
클래스가 아닌 객체에 초점을 맞추는 것과 객체들에게 얼마나 적절한 역할과 책임을 할당하는지 중요~!
절차지향 VS 객체지향 프로그래밍
-> 책임이 한 곳에 집중되어있다면 절차지향 책임이 여러 곳에 분산 되어 있다면 객체지향
객체지향 설계 및 구현
1. 도메인을 구성하는 객체에는 어떤 것들이 있는지 고민
2. 객체들 간의 관계를 고민
3. 동적인 객체를 정적인 타입으로 추상화해서 도메인 모델링 하기
4. 협력을 설계
5. 객체들을 포괄하는 타입에 적절한 책임을 할당
6. 구현하기
객체지향 세계에서는 모든 객체가 능동적인 존재다.


#패스트캠퍼스 #패캠챌린지 #수강료0원챌린지 #직장인인강 #직장인자기계발
#패캠인강후기 #패스트캠퍼스후기 #환급챌린지 #오공완 #10개 프로젝트로 완성하는 백엔드 웹개발(Java/Spring) 초격차 패키지 Online.
필수 링크 : http://bit.ly/3Y34pE0