Skip to main content

Command Palette

Search for a command to run...

2024.07.11 객체지향

Published
3 min readView as Markdown
2024.07.11 객체지향
T

안녕하세요! Web개발을 공부하고 있는 윤종일 입니다. 현재는 Java 백엔드 개발을 깊게 파고들고 있어요! 제 궁극적인 목표는 풀스택 개발자가 되는 것입니다. 프론트엔드와 백엔드 모두를 자유롭게 넘나들며, 사용자에게 가치를 전달할 수 있는 완성도 높은 애플리케이션을 만드는 것이 목표입니다.

객체 지향

  • 개념

    • 객체 지향은 실세계의 개체를 속성과 메서드가 결합한 형태의 객체로 표현하는 기법이다.
  • 객체 지향 구성요소

  1. 클래스

    1. 특정 객체 내에 있는 변수와 메서드를 정의하는 일종의 틀

    2. 객체 지향 프로그래밍에서 데이터를 추상화하는 단위

    3. 하나 이상의 유사한 객체들을 묶어서 하나의 공통된 특성을 표현

    4. 속성은 변수의 형태로, 행위는 메서드 형태로 선언

  2. 객체

    1. 물리적,추상적으로 자신과 다른 것을 식별 가능한 대상

    2. 클래스에서 정의한 것을 토대로 메모리에 할당됨

    3. 객체마다 각각의 상태와 식별성을 가짐

  3. 메서드

    1. 클래스로부터 생성된 객체를 사용하는 방법

    2. 객체가 메시지를 받아 실행해야 할 객체의 구체적인 연산

    3. 전통적 시스템의 함수 또는 프로시저에 해당하는 연산 기능

  4. 메시지

    1. 객체들 사이에서 정보를 교환하기 위한 수단

    2. 객체에게 어떤 행위를 하도록 지시하는 방법

    3. 객체 간의 상호 작용은 메시지를 통해 이루어짐

    4. 메시지는 객체에서 객체로 전달됨

  5. 인스턴스

    1. 객체 지향 기법에서 클래스를 통해 만든 실제의 실형 객체

    2. 실제로 메모리상에 할당

  6. 속성

    1. 한 클래스 내에 속한 객체들이 가지고 있는 데이터 값들을 단위별로 정의

    2. 성질, 분류, 식별, 수량, 현재 상태 등에 대한 표현 값

객체 지향 기법

  1. 캡슐화

  2. 상속성

  3. 다형성

  4. 추상화

  5. 정보 은닉

  6. 관계성

객체 지향 설계 원칙 (SOLID)

  1. 단일 책임 원칙: 하나의 클래스는 하나의 목적을 위해서 생성됨/ 객체 지향 프로그래밍의 5원칙 중 나머지 4원칙의 기초 원칙

  2. 개방 폐쇄 원칙: 확장에는 열려있고, 변경에는 닫혀있어야함

  3. 리스코프 치환의 원칙: 서브 타입은 어디서나 자신의 기반 타입으로 교체할 수 있어야 한다는 원칙

  4. 한 클래스는 자신이 사용하지 않는 인터페이스는 구현하지 않아야 한다는 원칙/ 클라이언트가 사용하지 않는 인터페이스 때문에 영향을 받아서는 안 된다는 원칙

객체 지향 구현 절차

  1. 절차: 업무 요건 정의

  2. 객체지향 분석: 객체 모델링, 동적 모델링, 기능 모델링 수행

  3. 객체 지향 설계 및 구현: 시스템 설계 및 객체 설계, 객체지향 구현

  4. 테스트 및 배포: 테스트,패키지, 프로젝트 평가

객체 지향 분석(OOA: Object Oriented Analysis)의 개념

  • 객체 지향 분석은 사용자의 요구사항을 분석하여 요구된 문제와 관련된 모든 클래스(객체), 속성과 연산, 관계등으로 나누어서 분석하는 기법이다.

  • 데이터와 행위를 하나로 묶어 객체를 정의하고 추상화 한다.

  • 코드 재사용에 의한 프로그램 생산성 향상 및 요구에 따른 시스템의 쉬운 변경이 가능하다.

객체 지향 벙법론 종류

  • OOSE(Object Oriented Software Engineering) / 야콥슨: 유스케이프에 의한 접근 방법, 분석 설계 구현 단계로 구성, 기능적 요구사항 중심의 시스템

  • OMT(Object Modeling Technology) / 럼바우: 그래픽 표기법을 이용하여 소프트웨어 구성요소를 모델링하는 방법론, 분석 절차는 객체 모델링 - 동적 모델링 - 기능 모델링 순서로 진행

  • OOD(Object Oriented Design) / 부치: 설계 문서화를 강조하여 다이어그램 중심으로 개발하는 방법론/ 분석과 설계의 분리가 불가능 / 분석하는데 이용된 객체 모델의 설계 시 적용

추가적으로 Coad와 Yourdon 방법론은 E-R 다이어그램을 사용할 객체의 행위를 모델링하며, 객체 식별, 구조 식별, 주체 정의, 속성 및 관계 정의, 서비스 정의 등의 과정으로 구성되는 객체 지향 분석 방법이다.
Wirfs-Brock 방법론은 분석과 설계간의 구분이 없음, 고객 명세서를 평가해서 설계 작업까지 연속적으로 수행하는 분석 방법

야콥슨/럼바우/부치 OOSE/OMT/OOD

E-R 다이어그램은 Coad와 Yourdon

More from this blog

서브넷 이해하기

서브넷 IPv4 IPv4로 보자면 데이터 전송 방식은 유니캐스트 멀티캐스트 브로드 캐스트다. 32bit 숫자로 구성되어 있다. 일반적으로 4개의 10진수로 표현된다. 데이터 전송 방식 데이터 전송 방식설명 유니캐스트한 대의 컴퓨터가 다른 한 대의 컴퓨터에게 데이터를 보내는 방식 멀티캐스트한 대의 컴ㅂ퓨터가 특정 그룹에 속한 여러 컴퓨터에게 ㄷ이터를 보내는 방식 브로드캐스트한 대의 컴퓨터가 같은 네트워크에 있는 모든 컴퓨터...

Aug 5, 20242 min read3
서브넷 이해하기

네트워크 계층

네트워크 계층 네트워크는 원하는 정보를 원하는 수신자 또는 기기에 정확하게 전송하기 위한 기반 인프라이다. OSI 7계층 (지겹지만 반복) OSI 7계층은 국제 표준화 기구인 ISO(International Standardization Organization)에서 개발한 컴퓨터 네트워크 프로토콜 디자인과 통신을 계층으로 나누어 설명한 개방형 시스템 상호 연결 모델이다. 각 계층은 서로 독립적으로 구성되어 있고, 각 계층은 하위 계층의 기...

Jul 29, 20243 min read3
네트워크 계층

메모리 단편화

메모리 단편화 메모리 단편화란 분할된 주기억장치에 프로세스를 할당, 반납 과정에서 사용되지 못하고 낭비되는 기억장치가 발생하는 현상이다. 유형으로는 내부 단편화와 외부 단편화가 있다. 내부 단편화 내부 단편화 개념 내부 단편화는 분할된 공간에 프로세스를 적재한 후 남은 공간이다. 내부 단편화는 고정 분할 할당 방식 또는 페이징 기법 사용 시 발생하는 메모리 단편화다. 해결 방안설명 슬랩 할당자 (Slab Allocator)페...

Jul 20, 20241 min read

2024.07.13 애플리케이션 테스트 수행

애플리케이션 테스트 수행 IDE 도구 개념 IDE(Integrated Development Environment) 도구는 코딩, 디버그, 컴파일, 배포 등 프로그램 개발과 관련된 모든 작업을 하나의 프로그램 안에서 처리하는 환경을 제공하는 소프트웨어이다. 기존에는 컴파일러, 텍스트 편집기, 디버거를 따로 사용했으나 통합 개발환경을 통해 하나로 묶은 대화형 인터페이스를 제공한다. IDE 도구의 기능 IDE 도구는 다양한 기능을 통합한 형태...

Jul 12, 20242 min read2
2024.07.13 애플리케이션 테스트 수행
J

Java 백엔드 및 풀스택 개발

111 posts

안녕하세요! Web개발을 공부하고 있는 윤종일 입니다. 현재는 Java 백엔드 개발을 깊게 파고들고 있어요! 제 궁극적인 목표는 풀스택 개발자가 되는 것입니다. 프론트엔드와 백엔드 모두를 자유롭게 넘나들며, 사용자에게 가치를 전달할 수 있는 완성도 높은 애플리케이션을 만드는 것이 목표입니다.

E-Mail : ji4971@naver.com