본문 바로가기

분류 전체보기9

객체지향 프로그래밍(OOP, Object-Oriented Programming) 객체지향 프로그래밍(OOP, Object-Oriented Programming)이란? 객체지향 프로그래밍(OOP)은 프로그래밍의 패러다임 중 하나로, 현실 세계의 개념을 프로그래밍에 반영하여 문제를 해결하는 방법을 제공합니다. OOP는 추상화, 캡슐화, 상속성, 다형성이라는 네 가지 핵심적인 개념을 기반으로 합니다. 추상화(Abstraction) 객체나 시스템에서 중요한 부분을 강조하고 불필요한 세부 사항을 감추는 것 복잡한 시스템을 단순화하여 이해하기 쉽게 만드는 과정 예를 들어, 자동차를 추상화한다면 "운전", "가속", "제동" 등의 핵심 기능에 집중하여 구현이 가능하다. 캡슐화(Encapsulation) 데이터와 그 데이터를 다루는 메서드들을 하나로 묶는 것 데이터를 보호하고 외부에서의 직접적인 .. 2024. 3. 21.
객체지향 프로그래밍의 5가지 설계 원칙, SOLID 객체지향 프로그래밍의 5가지 설계 원칙, SOLID SOLID 원칙을 지킨다면 소프트웨어를 보다 견고하고 유연하게 만들어 줄 뿐만 아니라 유지보수와 확장에도 용이하게 한다. [단일 책임의 원칙(SRP, Single Responsibility Principle)] 단일 책임 원칙은 클래스는 단 하나의 책임만 가져야 한다는 원칙 즉, 클래스가 변경되어야 하는 이유는 오직 하나여야 한다. class CustomerDataAccess { public void saveCustomer(Customer customer) { // 고객 정보 저장 로직 } public Customer retrieveCustomer(int customerId) { // 고객 정보 검색 로직 } public void updateCustom.. 2024. 3. 15.
MVC(Model-View-Controller) 패턴 MVC (Model-View-Controller) 패턴이란? 애플리케이션의 구조를 세 가지 주요 부분으로 나누어 개발하는 방법 각각의 부분은 특정 역할을 담당하며 서로 간의 의존성을 최소화하여 유지보수성과 재사용성을 향상시킨다. 모델 (Model) 애플리케이션의 데이터와 비즈니스 로직을 담당합니다. 데이터의 상태를 관리하고, 데이터의 변경을 통보받아 뷰에 업데이트를 알립니다. 사용자 인터페이스나 컨트롤러와 독립적으로 존재하며, 데이터를 다루는 규칙과 로직을 정의합니다. 뷰 (View) 사용자 인터페이스를 담당합니다. 모델의 상태에 따라 화면을 표시하고, 사용자의 입력을 컨트롤러에 전달합니다. 모델과 직접적으로 상호작용하지 않으며, 모델의 변경을 감지하여 화면을 업데이트합니다. 컨트롤러 (Controlle.. 2024. 3. 12.
반복자 패턴(iterator pattern) 반복자(이터레이터) 패턴이란? 컬렉션의 요소에 순차적으로 접근할 수 있는 인터페이스를 제공하는 패턴 컬렉션의 내부 구조를 노출하지 않고도 요소에 접근할 수 있으며, 컬렉션의 순회를 추상화하여 구현이 가능하다. 이터레이터 (Iterator) 요소에 접근하기 위한 인터페이스를 정의합니다. 주로 next() 메서드를 통해 다음 요소에 접근할 수 있습니다. 컬렉션 (Collection) 이터레이터를 생성하는 인터페이스를 정의합니다. 이터레이터를 생성하는 createIterator() 메서드 등이 포함될 수 있습니다. 컨크리트 이터레이터 (Concrete Iterator) 이터레이터 인터페이스를 실제로 구현합니다. 컬렉션 내의 현재 위치 등을 추적하면서 요소에 접근합니다. 컨크리트 컬렉션 (Concrete Col.. 2024. 3. 7.