2024-07-10 용어 정리

찬근·2024년 7월 10일
0

컴포넌트화(모듈화)

  • 소프트웨어를 구성하는 개별적인 요소로 분해하는 것
  • 복잡한 시스템을 관리하기 쉬운 단위로 나누어 개발하는 방법
  • 재사용성, 유지보수성, 확장성을 높이는 소프트웨어 개발 방법론

Library

  • 라이브러리
  • 프로그램 개발에 사용되는 미리 작성된 코드의 집합
  • 자주 사용되는 기능을 모아놓은 것으로, 개발 시간을 단축하고 코드의 재사용성을 높임

Variable Arguments

  • 가변 인자
  • 메서드 호출 시 넘겨주는 인자의 개수를 동적으로 지정할 수 있게 해주는 기능
  • Java에서는 '...'을 사용하여 선언하며, 메서드 내에서는 배열로 처리됨

OOP

  • 객체 지향 프로그래밍 (Object-Oriented Programming)
  • 프로그램을 객체들의 모임으로 파악하여 설계하고 구현하는 방법론
  • 캡슐화, 추상화, 상속, 다형성 등의 특징을 가짐

CBD, SOA, MSA

  • 컴포넌트 기반 개발 (Component-Based Development), 서비스 지향 아키텍처 (Service-Oriented Architecture), 마이크로서비스 아키텍처 (Microservice Architecture)
  • 소프트웨어 시스템을 설계하고 구현하는 다양한 아키텍처 접근 방식
  • 각각 재사용 가능한 컴포넌트, 서비스 중심, 작고 독립적인 서비스로 시스템을 구성하는 방법론

Encapsulation

  • 캡슐화
  • 데이터와 그 데이터를 처리하는 메서드를 하나의 단위로 묶는 것
  • 객체의 내부 구현을 숨기고 외부에서의 접근을 제어하여 데이터의 무결성을 보장

Abstraction

  • 추상화
  • 복잡한 시스템에서 핵심적인 개념 또는 기능을 간추려내는 것
  • 불필요한 세부 사항을 제거하고 본질적인 특성만을 표현하는 과정

"The purpose of abstraction is not to be vague, but to create a new semantic level in which one can be absolutely precise." - Edsger Dijkstra

Inheritance

  • 상속
  • 기존의 클래스를 재사용하여 새로운 클래스를 작성하는 것
  • 코드의 재사용성을 높이고 계층적인 관계를 구성할 수 있게 함

Polymorphism

  • 다형성
  • 같은 이름의 메서드가 다양한 방식으로 동작할 수 있도록 하는 것
  • 오버로딩과 오버라이딩을 통해 구현되며, 코드의 유연성과 확장성을 높임
profile
일관성 있는 개발자

0개의 댓글