목록분류 전체보기 (5)
학습하며 정리하는 개발블로그
객체지향 프로그래밍에서 SOLID 원칙의 이해와 적용 객체지향 프로그래밍(OOP)은 시스템을 독립적이고 재사용 가능한 모듈로 구성하여 유지보수성과 확장성을 높이는 데 큰 역할을 합니다. 그중 SOLID 원칙은 이러한 목표를 달성하기 위한 다섯 가지 기본 설계 원칙으로, 복잡한 소프트웨어 시스템에서 발생할 수 있는 문제를 예방하고 코드의 품질을 향상시키는 데 매우 유용합니다.단일 책임 원칙 (SRP) 단일 책임 원칙은 “한 클래스는 오직 하나의 책임만을 가져야 한다”는 기본 설계 철학입니다. 이를 쉽게 풀어서 설명하면, 한 클래스가 여러 일을 동시에 하게 되면 나중에 그 중 하나의 기능을 수정할 때 다른 기능까지 영향을 줄 수 있습니다. 그래서 한 클래스가 한 가지 일에 집중하면, 수정이나 확장이 필요할..

소프트웨어는 개발 후에도 지속적인 업데이트, 버그 수정, 기능 추가가 필요합니다. 이러한 변화에 효과적으로 대응하기 위해서는 시스템의 유지보수성이 매우 중요합니다. OOP는 복잡한 소프트웨어를 모듈화하고, 각 구성 요소의 독립성을 확보하여 유지보수를 용이하게 만드는 핵심 설계 패러다임으로 자리잡았습니다. 그렇다면, 소프트웨어 개발이 있어서 유지보수가 중요한 이유는 무엇일까요? 소프트웨어 유지보수성이 중요한 이유1. 변화하는 요구사항에 대응 • 요구사항의 변화: 비즈니스 환경이나 사용자의 요구는 시간이 지남에 따라 변화합니다. 초기 설계 시 예측하기 어려운 변경 사항들이 발생할 수 있으므로, 시스템이 유연하게 대응할 수 있어야 합니다. • 확장 및 기능 추가: 새로운 기능을 추가하거나 기존 기능을 개선..
객체지향 프로그래밍(OOP)의 이해 객체지향 프로그래밍은 소프트웨어를 현실 세계의 사물과 그 상호작용을 모델링하는 방식으로 설계하는 패러다임입니다. OOP는 단순히 코드를 작성하는 방법을 넘어서, 시스템을 더 쉽게 유지보수하고 확장할 수 있는 구조를 제공합니다. 이 글에서는 OOP의 기본 개념들을 설명하고, 각각의 개념이 왜 중요한지와 실제 코드 예시를 통해 어떻게 구현되는지 살펴보겠습니다.객체와 클래스: OOP의 출발점객체란 무엇인가? 객체는 프로그램 내에서 실제로 동작하는 “실체”입니다. 현실 세계에서 볼 수 있는 물건이나 개념처럼, 객체는 상태(속성)와 행동(메서드)을 가집니다. 예를 들어, “자동차”라는 객체는 색상, 모델, 속도 등의 속성을 가지며, 운전, 정지, 가속 등의 행동을 수행할 수 있..

개발을 하면서“리터럴(literal)”이란 말을 자주 듣게 되지만, 막상 개념을 정확히 설명해보려면 애매하여서 정리를 한번 해보았습니다.1. 리터럴(literal)이란?1.1. 일반적인 정의"값 그 자체를 표현하는 문법 요소" 라고 볼 수 있습니다.예: 42, "Hello World", true, null, [1, 2, 3] 등코드에서 직접 쓴 값이며, 변수가 아니고, 함수 호출이나 계산의 결과도 아닙니다.1.2. 예시// Java 예시int age = 42; // 42 -> 정수 리터럴String greeting = "Hi"; // "Hi" -> 문자열 리터럴// JavaScript/TypeScript 예시let isDone = true; // true -> 불리언..
1. 개요a. 배경Class에 function을 추가하였는데 Class를 PlainObject로 생성하고 사용되어지던 코드에서 전부 오류가 발생 되었습니다.오류 내용은 “missing property” 이였습니다.Jvm기반으로 개발을 하던 저에게는 생소해서 찾아보니 Java에서의 Class와 Typescript의 Class의 차이점이 있다라는 것을 알게 되었습니다.=> Typescript의 Class는 필드뿐만 아니라 메서드도 실제 객체에 존재를 해야한다는 것이였습니다.2. 개념 정리 🧐Typescirpt에 대해서 모르는 개념들이 있는것이 문제인듯 하여서 관련 개념들을 정리해보았습니다. a. PropertyJavaScript/TypeScript에서는 객체에 포함된 모든 key-value 쌍을 “프로퍼..