전산 관련 시험/전산학(컴퓨터일반) 개념정리37 [전산필기] 소프트웨어 공학, 네트워크 개념 1. 객체지향 SRP (Single Responsibility Principle)단일 책임 원칙은 객체지향 설계의 중요한 원칙 중 하나로, 클래스는 하나의 책임만 가져야 한다는 개념입니다. 즉, 클래스는 하나의 기능만 수행해야 하고, 변경의 이유가 하나만 있어야 한다는 원칙입니다. 이를 통해 시스템의 유지보수성을 높이고, 코드의 모듈화를 촉진할 수 있습니다.2. 디자인 패턴 - 서브클래스서브클래스는 상속을 통해 부모 클래스의 속성과 메서드를 재사용하거나 확장할 수 있게 합니다. 디자인 패턴에서 서브클래스와 관련된 패턴 중 대표적인 것은 템플릿 메서드 패턴이 있습니다. 이 패턴은 부모 클래스에서 알고리즘의 뼈대를 정의하고, 구체적인 내용은 서브클래스에서 구현하게 합니다.1. 템플릿 메서드 패턴 (Templ.. 2024. 10. 16. [자료구조] AVL 트리 개념 및 특성, (9-3-2-4-6-7) 삽입 AVL 트리의 개념과 특성AVL 트리는 Adelson-Velsky와 Landis가 1962년에 개발한 이진 검색 트리(Binary Search Tree, BST)의 일종으로, 자기 균형을 유지하는 특성을 가지고 있습니다. AVL 트리는 이진 검색 트리에서 발생할 수 있는 불균형을 해결하기 위해 **균형 인수(balance factor)**를 사용합니다.균형 인수(Balance Factor): 특정 노드의 왼쪽 서브트리와 오른쪽 서브트리의 높이 차이를 나타냅니다. AVL 트리는 모든 노드에 대해 균형 인수가 -1, 0, 1인 경우만 허용됩니다.balance factor = height(left subtree) - height(right subtree)특성:자기 균형: 트리의 높이가 커지면서 발생할 수 있는.. 2024. 10. 16. [소프트웨어 공학] Dependency Inversion Principle DIP는 Dependency Inversion Principle의 약자로, SOLID 원칙 중 하나입니다. SOLID 원칙은 객체 지향 설계의 다섯 가지 기본 원칙을 설명하며, DIP는 그 중 두 번째 원칙입니다. DIP는 소프트웨어의 유연성과 유지 보수성을 높이기 위해 의존성 관리에 중점을 둡니다.Dependency Inversion Principle (DIP) 설명Dependency Inversion Principle의 핵심 아이디어는 고수준 모듈(상위 수준의 비즈니스 로직)을 저수준 모듈(구체적인 구현)에 의존시키지 않고, 오히려 추상화된 인터페이스를 통해 의존성을 관리하는 것입니다. 이를 통해 소프트웨어의 유연성과 확장성을 높일 수 있습니다.DIP는 두 가지 주요 규칙으로 요약할 수 있습니다:고수.. 2024. 9. 10. [네트워크] CSMA 프로토콜 CSMA (Carrier Sense Multiple Access) 프로토콜은 네트워크에서 여러 장치가 동일한 매체를 공유할 때 발생할 수 있는 충돌을 최소화하기 위한 접근 방식입니다. CSMA는 주로 이더넷 네트워크에서 사용됩니다. CSMA 프로토콜은 충돌 감지(Collision Detection) 및 충돌 회피(Collision Avoidance) 방식을 사용하지만, 100% 충돌 문제 해결에는 한계가 있습니다.CSMA 프로토콜의 주요 개념CSMA/CD (Carrier Sense Multiple Access with Collision Detection):Carrier Sense: 송신 장치가 데이터 전송을 시작하기 전에 전송 매체가 사용 중인지 감지합니다.Multiple Access: 여러 장치가 동일.. 2024. 9. 10. 이전 1 2 3 4 ··· 10 다음