관리 메뉴

나의 개발일지(김지헌)

항해 99 26일차 10월 14일 본문

항해 99

항해 99 26일차 10월 14일

코딩이좋아요 2022. 10. 14. 17:19

오늘부터 심화 주차에 들어갔다 soket io , 객체지향,  Layered Architecture Pattern, 테스트 코드 정도 배우는거 같다.

1. 객체 지향이란?

더보기

객체 지향은 소프트웨어의 핵심을 기능이 아닌 객체로 삼으며 “누가 어떠한 일을 할 것인가?”에 초점을 맞춥니다.

즉, 객체를 도출하고 각각의 역할을 정의하는 것에 초점을 맞춥니다.

 

  • 책임과 권한을 가진 객체들이 서로 메시지를 주고받으며 협력해서 필요한 기능을 수행하도록 시스템을 개발하는 것을 객체 지향이라고 합니다.
  • 크고 복잡한 시스템을 효과적으로 분해하고 구성할 수 있고, 손쉽게 이해하고 효율적으로 다룰 수 있게 도와주는 방법으로 인정받아 많은 프로그래밍 언어에 적용되어 왔고 지금은 가장 인기 있는 프로그래밍 패러다임으로 자리 잡습니다.

그렇다면 객체 지향적인 소프트웨어는 어떻게 구분할 수 있을까요?

절차지향적인 소프트웨어와 객체지향적인 소프트웨어를 구분하는 방법은 아래의 기준을 만족할 경우 객체지향, 만족하지 않으면 절차지향적인 성격을 가집니다.

  • 캡슐화, 다형성, 클래스 상속을 지원하는가?
  • 데이터 접근 제한을 걸 수 있는가?

캡슐화

더보기

개념적이나 물리적으로 객체 내부의 세부적인 사항감추는 것캡슐화라고 부릅니다.

즉, 캡슐화를 사용하는 가장 큰 이유는 정보은닉을 목적으로 합니다

상속

더보기

상속이란 이미 정의된 상위 클래스의 특징을 하위 클래스에서 물려받아 코드의 중복을 제거하고 코드 재사용성을 증대시킵니다.

즉, 하나의 클래스가 가진 특징(함수, 변수 및 데이터)을 다른 클래스가 그대로 물려 받는 것을 말합니다.

 

추상화

더보기

객체에서 공통된 부분을 모아 상위 개념으로 새롭게 선언하는 것을 추상화라고 합니다.

즉, 불필요한 부분을 생략하고 객체 속성 중 공통적이고 중요한 것에만 중점을 두어 모델화 하는 것입니다

프로그래밍 패러다임

더보기
  1. 구조적 프로그래밍 (Structured Programming)
  2. 객체 지향 프로그래밍 (Object-Oriented Programming, OOP)
  3. 함수형 프로그래밍 (Functional Programming)

구조적 프로그래밍제어 흐름직접적인 전환에 대한 규칙을 제시합니다.

  • 구조적 프로그래밍기능을 중심적으로 개발을 진행합니다.
  • 구조적 프로그래밍은 프로그래밍이라는 기술이 시작되면서 가장 처음으로 적용된 패러다임입니다.

객체 지향 프로그래밍제어흐름간접적인 전환에 대한 규칙을 제시합니다.

  • 객체 지향 프로그래밍은 프로그램의 처리단위가 객체인 프로그래밍 방법입니다.
  • 객체 지향 프로그래밍은 “현실 세계를 모델링”하는 대표적인 프로그래밍 패러다임입니다.

함수형 프로그래밍할당문에 대한 규칙을 제시합니다.

  • 함수형 프로그래밍함수를 중심적으로 개발을 진행합니다.
  • 함수형 프로그래밍은 3가지의 패러다임 중 가장 처음 만들어졌지만 최근들어 겨우 도입되기 시작하는 패러다임 입니다.

'항해 99' 카테고리의 다른 글

항해 99 28일차 10/16일  (0) 2022.10.16
항해 99 27일차 10/15일  (0) 2022.10.16
항해 99 25일차 10월 13일  (0) 2022.10.14
항해 99 24일차 10월 12일  (0) 2022.10.13
항해 99 22일차 10/10  (0) 2022.10.11