객체 상태 저장 및 복구를 위한 메멘토 패턴 구현
메멘토 패턴은 객체의 내부 상태를 캡처하여 외부에 저장하고, 필요시 해당 상태로 복원할 수 있는 행동 디자인 패턴입니다.
핵심 개념
목적: 객체의 캡슐화를 유지하면서 내부 상태를 저장하고 이후에 복원할 수 있도록 합니다.
주요 기능: 객체의 상태를 별도의 메멘토 객체에 저장하여, 나중에 이전 상태로 되돌릴 수 있는 기능을 제공합니다.
적용 시기: 사용자 작업 ...
8월 7일 17:21에 게시됨
Java 객체지향 프로그래밍 10주 학습 기록
Java를 처음 접한 지 10주가 되었다. 이 기간 동안 객체지향의 핵심 개념을 익히고 다양한 실습 과제를 수행했다. 주요 내용은 PTA 그래픽 설계, 연결 리스트 구현, 중간고사 대비 문제, 그리고 자습 내용이다.
PTA 그래픽 설계 과제
문제 7-1: 두 점 사이 거리
입력 문자열의 형식을 검증하고 두 점 간 거리를 계산하는 문제였다. 핵심은 정규표현식을 활용한 입력 검 ...
7월 27일 17:49에 게시됨
Java 핵심 개념 정리: 기초부터 객체지향까지
1. Java 언어 개요
Java는 고급 프로그래밍 언어로, 플랫폼에 독립적인 애플리케이션 개발을 지원하며 완전한 객체지향 언어입니다. Java는 크게 세 가지 기술 플랫폼으로 나뉩니다.
Java SE: 데스크톱 애플리케이션 개발용 표준 에디션
Java EE: 웹 및 엔터프라이즈 애플리케이션 개발용
Java ME: 모바일 및 임베디드 장치용 마이크로 에디션
Java의 주요 특징으로는 단 ...
7월 13일 04:56에 게시됨
파이썬 객체지향 프로그래밍 심층 가이드
클래스 속성 타입 힌트
from typing import List, Dict, Optional
class Sample:
def __init__(self, value_a: int, value_b: str, items: List[int], mapping: Dict[str, str], opt_value: Optional[float] = None):
self.val_a = value_a
self.val_b = value_b
self.items = items
self.mapping = mapping
self.opt_val = ...
7월 12일 21:12에 게시됨
C++ 클래스와 객체: 기본 개념 및 핵심 기능
클래스와 객체
1. 클래스의 정의
C++은 C 언어에 객체지향 프로그래밍을 추가했으며, 이와 밀접한 개념이 클래스와 객체입니다.
클래스(class)는 사용자가 정의하는 사용자 정의 데이터 타입으로, 데이터와 함수를 캡슐화합니다. 클래스 내 데이터는 멤버 변수 또는 속성, 함수는 멤버 함수 또는 메서드라 합니다.
C의 구조체(struct)와 유사하지만, 클래스는 함수 캡슐화 ...
7월 7일 06:09에 게시됨
Java SE 핵심 개념 요약: 기초부터 객체지향, 컬렉션까지
기본 데이터 형변환과 연산자 규칙
Java에서는 데이터 타입 간의 자동 형변환이 발생할 수 있으며, 이는 작은 범위의 타입이 큰 범위의 타입으로 대입될 때 적용된다. 예를 들어 byte 값이 int 변수에 할당되면 자동으로 승격된다.
byte a = 5;
int b = a; // 자동 승격: int로 변환됨
반대로 큰 타입을 작은 타입에 대입하려면 강제 형변환이 필요하다.
int x = 1000;
by ...
6월 29일 16:37에 게시됨
빌더 패턴
1. 빌더 패턴이란?
복잡한 객체의 생성과 표현을 분리하여 동일한 구성 요소로 다양한 표현을 생성할 수 있도록 설계 패턴입니다.
예를 들어 외식 시스템에서 메뉴 구성은 고정된 재료(건강식, 일반식 등)가 다르지만, 기본적인 조리 과정은 유사합니다.
2. 주요 목적
복잡한 객체의 구현 세부사항을 숨기고, 서브클래스를 통해 동적으로 객체를 생성하는 방식으로 ...
6월 27일 18:23에 게시됨
Zod와 객체지향 프로그래밍: 클래스 및 상속을 통한 검증 로직 구조화 방법
Zod와 객체지향 프로그래밍의 통합
Zod는 타입스크립트 중심의 데이터 스키마 검증 라이브러리로, 선언식 방식으로 데이터 구조와 검증 규칙을 정의할 수 있습니다. 이 가이드에서는 객체지향 프로그래밍 원칙과 Zod를 결합하여 유지보수성과 확장성을 극대화하는 검증 시스템을 설계하는 방법을 다룹니다.
Zod 기반 검증 패턴
Zod의 핵심은 Schema 클래스입니다. 다양한 ...
6월 18일 20:49에 게시됨
파이썬 핵심 개념과 예제
1. Python과 Java 비교
Python: 인터프리터 언어로 실행 시 직접 해석. 동적 타입 지원으로 유연하나 런타임 오류 가능성 존재
Java: 컴파일 언어로 머신 코드 변환 후 실행. 정적 타입으로 컴파일 시 오류 검출 가능
2. 최대 재귀 깊이
기본값 998. sys.setrecursionlimit()로 조정 가능(3925-3929 범위 권장)
3. Python2 vs Python3 차이
입력 함수: Py2 - raw_inpu ...
6월 17일 05:28에 게시됨
객체 지향 프로그래밍의 핵심 개념 정리
프로그래밍 패러다임: 절차지향과 객체지향
프로그래밍에는 두 가지 주요 접근 방식이 존재한다. 하나는 절차지향적 사고방식이고, 다른 하나는 객체지향적 사고방식이다.
절차지향 프로그래밍
문제 해결을 위한 단계를 나누어 각 단계별로 코드를 작성하는 방식이다. 이 방법은 대부분의 프로그램에서 기본적으로 사용되며, 규모에 따라 비중이 달라질 뿐이다.
객체지향 ...
6월 7일 17:51에 게시됨