2025/03/17 3

REST API란? RESTful한 설계 원칙

1. REST API란? REST API(Representational State Transfer API)는 HTTP 프로토콜을 기반으로 클라이언트와 서버가 데이터를 주고받는 방식을 의미한다. REST는 웹의 아키텍처 스타일 중 하나로, 리소스(Resource) 중심으로 설계되어 있으며 간결하고 직관적인 URL과 HTTP 메서드를 활용하는 것이 특징이다. 📌 REST API의 주요 개념리소스(Resource) → URI(Uniform Resource Identifier)로 표현됨 (/users, /posts/1 등)행동(Method) → HTTP 메서드(GET, POST, PUT, DELETE 등) 사용표현(Representation) → JSON, XML 등의 형식으로 데이터를 주고받음📌 REST ..

컴퓨터공학 2025.03.17

객체지향 프로그래밍(OOP) 개념과 SOLID 원칙

1. 객체지향 프로그래밍(OOP)란? 객체지향 프로그래밍(Object-Oriented Programming, OOP)은 **객체(Object)**를 중심으로 프로그램을 구성하는 프로그래밍 패러다임이다. 객체란 데이터(속성, 상태)와 메서드(동작, 행동)를 포함하는 독립적인 모듈을 의미하며, 객체 간의 관계를 통해 프로그램이 동작한다. 📌 OOP의 핵심 개념 객체지향 프로그래밍은 다음과 같은 4가지 개념을 기반으로 한다.캡슐화(Encapsulation)객체의 데이터를 외부에서 직접 접근하지 못하도록 보호하고, 필요한 경우 메서드를 통해 접근을 제한하는 개념**정보 은닉(Information Hiding)**을 통해 유지보수성과 보안성을 높일 수 있음예제: private, protected 접근 제어자를 ..

컴퓨터공학 2025.03.17

동적 프로그래밍(Dynamic Programming)의 개념과 예제

1. 동적 프로그래밍(Dynamic Programming)이란? 동적 프로그래밍(DP, Dynamic Programming)은 복잡한 문제를 작은 하위 문제로 나누어 해결한 결과를 저장하여 동일한 계산을 반복하지 않도록 최적화하는 알고리즘 기법이다. 특히, 부분 문제의 결과를 재사용할 수 있는 경우(Overlapping Subproblems)와 최적 부분 구조(Optimal Substructure)를 만족하는 경우에 효과적이다. 📌 핵심 개념:동일한 연산을 반복하지 않도록 결과를 저장(Memoization)작은 문제를 해결한 후 이를 조합하여 큰 문제를 해결하는 방식재귀(Top-Down) 방식과 반복(Bottom-Up) 방식이 존재2. 동적 프로그래밍이 필요한 이유 일반적인 완전 탐색(Brute For..

컴퓨터공학 2025.03.17