Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
36 changes: 18 additions & 18 deletions 1/1.md
Original file line number Diff line number Diff line change
@@ -1,40 +1,40 @@
# OOP란 무엇인가요?

>
> Object-Oriented Programming의 약자. 객체 지향 프로그래밍. 절차 지향과 다르게 순서대로 실행을 하지 않아서 재사용성, 쉬운 유지보수, 대규모 프로그래밍에 유리함.

# OOP의 주요 특징 4가지에는 무엇이 있나요?

1.
2.
3.
4.
1. 추상화
2. 캡슐화
3. 상속
4. 다형성

# 객체지향의 SOLID 법칙의 5가지 원칙에는 무엇이 있나요?

1.
2.
3.
4.
5.
1. SRP(Single Responsibiility Principle)- 단일 책임 원칙
2. OCP(Open Closed Principle) - 개방-폐쇄 원칙
3. LSP(Liskov Substitution Principle) - 리스코프 치환 원칙
4. ISP(Interface Segregation Principle) - 인터페이스 분리 원칙
5. DIP(Dependency Inversion Principle) - 의존 역전 원칙

# 객체지향의 Tell, Don’t Ask가 무엇인가요?

>
> 객체야 데이터 내놔!!! X, 객체야 일해라!! O

# DRY, KISS에 대해 설명해주세요.

- DRY
- KISS
- DRY(Do not Repeat Yourself): 반복하지 않는 것
- KISS(Keep It Simple, Stupid): 가독성 높이기(되도록 간단하고 단순히, 불필요하게 장황하거나 복잡해지는것을 경계)

# 객체지향 설계에서 응집도와 결합도가 무엇인지 설명하고, 각각 높은 경우와 낮은 경우의 차이를 간단히 예를 들어보세요.

- 응집도:
- 결합도:
- 응집도: 하나의 클래스 또는 메서드, 속성들이 얼마나 밀집하게 관련이 되어 있는지
- 결합도: 여러 모듈이나 클래스들이 서로 얼마나 긴밀하게 의존하고 있는지

**예시:**
- 응집도가 낮고 결합도가 높은 경우 ->
- 응집도가 높고 결합도가 낮은 경우 ->
- 응집도가 낮고 결합도가 높은 경우 -> 클래스의 규모가 커져서 이해가 쉽지 않고, 재사용이 힘들고, 유지보수가 어렵다
- 응집도가 높고 결합도가 낮은 경우 -> 이해하기도 쉽고, 재사용도 좋고, 유지보수도 쉽다.: 이상적인 소프트웨어 모듈

# 자신이 생각하는 좋은 객체지향 코드의 조건을 말해보세요.

>
> 재사용성이 높다는 점이 좋은 거 같다.