From ea90b8e4d5be5393862fd056e463b33d85affb91 Mon Sep 17 00:00:00 2001 From: LEE HA EUN <167195841+randirao@users.noreply.github.com> Date: Fri, 19 Sep 2025 00:43:26 +0900 Subject: [PATCH] =?UTF-8?q?2212=EC=9D=B4=ED=95=98=EC=9D=80=20=EB=B0=B1?= =?UTF-8?q?=EC=97=94=EB=93=9C=20=EA=B3=BC=EC=A0=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 1/1.md | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/1/1.md b/1/1.md index 99a5a8e..095406f 100644 --- a/1/1.md +++ b/1/1.md @@ -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): 가독성 높이기(되도록 간단하고 단순히, 불필요하게 장황하거나 복잡해지는것을 경계) # 객체지향 설계에서 응집도와 결합도가 무엇인지 설명하고, 각각 높은 경우와 낮은 경우의 차이를 간단히 예를 들어보세요. -- 응집도: -- 결합도: +- 응집도: 하나의 클래스 또는 메서드, 속성들이 얼마나 밀집하게 관련이 되어 있는지 +- 결합도: 여러 모듈이나 클래스들이 서로 얼마나 긴밀하게 의존하고 있는지 **예시:** -- 응집도가 낮고 결합도가 높은 경우 -> -- 응집도가 높고 결합도가 낮은 경우 -> +- 응집도가 낮고 결합도가 높은 경우 -> 클래스의 규모가 커져서 이해가 쉽지 않고, 재사용이 힘들고, 유지보수가 어렵다 +- 응집도가 높고 결합도가 낮은 경우 -> 이해하기도 쉽고, 재사용도 좋고, 유지보수도 쉽다.: 이상적인 소프트웨어 모듈 # 자신이 생각하는 좋은 객체지향 코드의 조건을 말해보세요. -> +> 재사용성이 높다는 점이 좋은 거 같다.