오늘 공부한 내용 정리(2024년 8월 27일)
코드카타 문제풀이
주유소(Silver 3, 13305번)
https://rkdrkd-history.tistory.com/221
면접 이론 학습 11일 차
면접 이론 학습 11일 차
객체 지향이 무엇인지 설명하고 SOLID 원칙에 대해 설명하기.
객체 지향 프로그래밍(Ojbect - Oriented Programming, OOP)은 프로그래밍에서 필요한 데이터를 추상화시켜 상태와 행위를 가진 객체로 만들고, 객체들 간의 상호 작용을 통해 로직을 구성하는 프로그래밍 방법이다.
SOLID라는 좋은 객체 지향 설계의 5가지 원칙이 존재한다.
- SRP(Single Responsibility Principle), 단일 책임 원칙: 하나의 클래스는 하나의 책임만 가져야 한다.
클래스를 변경하는 이유는 단 하나여야 한다. - OCP(Open - Closed Principle), 개방 폐쇄의 원칙: 소프트웨어 요소는 확장에는 열려 있으나, 변경에는 닫혀 있어야 한다.
- LSP(Liskov Substitution Principle), 리스코프 치환 원칙: 하위 타입 객체는 상위 타입 객체에서 가능한 행위를 수행할 수 있어야 한다.
즉, 상위 타입 객체를 하위 타입 객체로 대체해도 정상적으로 동작해야 한다. - ISP(Interface Segregation Principle), 인터페이스 분리 원칙: 클라이언트는 자신이 사용하는 메서드에만 의존해야 한다.
특정 클라이언트를 위한 인터페이스 여러 개가 범용 인터페이스 한 개보다 낫다. - DIP(Dependency Inversion Principle), 의존성 역전 원칙: 구현 클래스에 의존하지 말고, 인터페이스에 의존하라는 뜻.
SharedFlow와 StateFlow를 앱에 어떤 기능에 사용했고 장단점이 무엇인가?
StateFlow를 ViewModel에서 State를 저장해야 할 때 사용한다.
장점: clean architecture 기반으로 구현할 때, 언어 의존성을 가지는 domain layer에서는 사용하기 부적합한 LiveData 대신에 StateFlow를 사용할 수 있다.
단점: StateFlow는 초기값이 무조건 존재해야 한다. LiveData에서 StateFlow로 막 갈아탄 상황에서는 불편할 수 있다.
개인 공부
부트캠프 최종 팀 프로젝트
공부 내용 간단 정리
오늘은 BottomSheet의 UI를 구현해 주었다.
https://rkdrkd-history.tistory.com/222
오늘 공부 내용 정리 및 회고
bottomSheet를 구현하고 나서 pull request를 올리고 merge 하고 나서 아침에 해결 못한 알고리즘 문제를 풀고 공부한 내용 블로그에 정리하니까 하루가 끝나 있다.
그래도 어제와는 다르게 9시에 딱 끝나서 기쁘다.
728x90
'♞ | 공부일지 > ♝ | TIL' 카테고리의 다른 글
[Android] 공부일지(2024-08-29) (0) | 2024.08.29 |
---|---|
[Android] 공부일지(2024-08-28) (0) | 2024.08.28 |
[Android] 공부일지(2024-08-26) (0) | 2024.08.26 |
[Android] 공부일지(2024-08-23) (0) | 2024.08.23 |
[Android, 내일배움캠프] 공부일지(2024-08-22) (0) | 2024.08.22 |