알고리즘 공부는 너무 어렵고 시간을 많이 잡아먹기 때문에 프로젝트에 좀 더 도움이 될 것 같은 실시간 강의와 자바를 복습하였다. cs강의 내용이 생각보다 어려워서 대부분의 시간은 cs에 소모하고 자바는 퀴즈 위주로 훝었는데 아침에 목표로 잡은 프로그래머스 0lv자바로 풀기는 내일로 미뤄야 했다.
****객체지향 프로그래밍(OOP) 3일차****
- 컴퓨터 프로그래밍의 패러다임 중 하나. 명령어의 목록으로 보는 시각에서 벗어나 여러 개의 독립된 단위, 즉, 개체의 모임으로 파악하고자 하는 것.
- 각 개체들은 메세지를 주고 받고, 데이터를 처리할 수 있다.
- 프로그램을 유연하고 변경이 쉽게!! -> 대규모 소프트웨어 개발에 많이 사용
- 다형성 : 클라이언트를 변경하지 않고 내부 기능을 변경할 수 있다.
*SOLID
- SRP : 단일 책임 원칙
: 한 클래스 - 한 책임 / 책임은 클수도 작을수도 O / 책임의 기준 = 변경(변경의 이유는 오직 하나여야 한다.)
- OCP : 개방 / 폐;쇄 원칙
: 확장에는 열려있으나, 변경에는 닫혀있다. / 변경비용은 줄이고 확장비용은 극대화 / 객체지향의 장점 극대화 (다형성) / 템플릿 메소드 패턴 (코드)
- LSP : 리스코프 치환 원칙(한번 더 보고 확인 후에 자료에 정정)
: 자식(하위 타입)은 언제나 자신의 부모(상위 타입)로 교체할 수 있어야 함 / 정확성을 깨트리면 X(-> 자식클래스의 인스턴스를 파라미터로 전달 했을 때 이상하게 작동 할 수 있다.) / 부모클래스에 대해 작성된 단위테스트 - 자식클래스에서는 작동 X
- ISP : 인터페이스 분리 원칙
:클라이언트가 자신이 사용하지 않는 메서드에 의존X / 특정 클라이언트에 하나의 범용 인터페이스보다 여러 개의 인터페이스를 제공하는 것이 낫다. / AS-IS(코드)
- DIP : 의존관계 역전 원칙
: 객체들 간 협력 과정에서 의존관계 형성 / 이러한 의존관계를 맺을 때, 변화에 용이하게 대응할 수 있을 것인제에 대한 가이드라인 / 변하기 쉽고(구체적 행동) 어렵고(추상적인 것)를 구분해야 함
'스파르타 부트캠프(spring)' 카테고리의 다른 글
[내일배움캠프_spring] 4주차_미니 프로젝트 (0) | 2022.11.23 |
---|---|
[내일배움캠프_spring] 4주차_CS강의 (0) | 2022.11.22 |
[내일배움캠프_spring] 주간회고 WIL - 3주차 (0) | 2022.11.21 |
[내일배움캠프_spring] 3주차_JAVA 복습, CS강의 (1) | 2022.11.21 |
[내일배움캠프_spring] 3주차_알고리즘(~3-9) (0) | 2022.11.17 |