| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
- git
- 데드락
- Di
- OS
- markdown
- Constraint Layout
- JUnit
- 운영체제
- 다단계 큐
- Android
- LiveData
- kotlin
- Spring Boot
- design pattern
- 깃허브
- 더티비트
- JetPack
- spring
- O.S
- Class.class
- 리드미
- readme
- SOLID
- android study jam
- Data Binding
- 마크다운
- github
- Compose
- coroutine flow
- test
- Today
- Total
목록Computer Science/OOP (3)
차지
추상클래스와 인터페이스 자바 기반 언어에는 상속을 시킬 수 있는 클래스가 두 종류가 있습니다. 추상클래스와 인터페이스 두 차이를 중심으로 서술합니다. 추상클래스 자식 클래스가 어떤 클래스인지 포괄적으로 이야기합니다. 자식과 부모간 공통 코드를 부모에만 정의합니다. 추상 클래스의 추상 메서드는 자식에서 구현이 필요하며, 부모 클래스에 구현된 일반 메서드는 구현하지 않습니다. 추상 클래스는 자식 클래스가 상속을 받아 사용하며 독립적으로는 사용할 수 없습니다. 개, 돼지, 소는 모두 동물이라고 포괄적으로 이야기할 수 있습니다. // Animal 클래스는 바로 사용할 수 없고 상속을 통해 사용됩니다. abstract class Animal { // eat 함수는 자식이 그대로 물려받습니다. // 또한, fina..
SOLID SRP, OCP 앞서 소개한 SRP, OCP에 이어 L에 해당하는 LSP를 소개하겠습니다. 3. LSP: Liskov Substitution Principle 리스코프 치환 원칙입니다. 부모를 자식으로 치환하는 데에 문제가 없어야 한다는 원칙입니다. LSP는 예기치 못한 수정을 줄이기 위한 원칙입니다. LSP를 위반하는 유명한 예시인 직사각형 & 정사각형을 예로 들어 보겠습니다. 정사각형은 네 변이 직각이므로 직사각형에 속합니다. 따라서 직사각형이 부모이고 정사각형이 자식인 객체를 만들 수 있습니다. // 직사각형은 네 변이 직각이므로 한 변의 길이를 수정하면 평행한 한 변의 길이가 함께 수정됩니다. class 직사각형 { private var width = 0 private var heigh..
SOLID SOLID 원칙은 5가지 객체지향 설계 원칙의 준말입니다. SOLID 원칙을 준수할 때 가장 큰 장점은 유지보수에 용이하다는 점입니다. 이 글에서는 SRP, OCP 두 원칙을 소개합니다. 코드는 Kotlin 기준으로 작성되었습니다. fun은 함수, val은 변수입니다. 1.SRP: Single Responibility Principle 단일 책임 원칙입니다. 가장 기본이 되는 원칙이며, 한 객체는 한 책임만 가져야한다는 원칙입니다. 간단한 예시로 함수를 동사로 작성하면 알 수 있습니다. 고양이가 걸으면서 동시에 밥을 먹더라도 둘은 엄연히 다른 기능입니다. class Cat { val leg = 4 // SRP를 고려하지 않음 fun walkAndEatAndPrintLeg() { print("w..