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에 게시됨
C++에서 다형성 구현 원리 완전 정복
가상 함수와 다형성 개념
클래스 내에서 virtual 키워드가 붙은 멤버 함수는 가상 함수로 분류됩니다. 이 키워드는 함수 선언부에만 사용되며, 실제 구현부에는 포함되지 않습니다.
class Parent
{
virtual int process() ; // 가상 함수 선언
};
int Parent::process() // 구현 시 virtual 불필요
{
// 함수 내용
}
다형성의 첫 번째 형태
파생 클래스의 인스 ...
6월 6일 21:39에 게시됨
Python 클래스와 상속 기본 개념
클래스의 캡슐화:
캡슐화는 클래스 내부의 정보를 숨기고, 외부에서 직접 변수를 수정하지 못하도록 하는 기법입니다. 클래스가 제공하는 메서드를 통해서만 숨겨진 정보에 접근하고 조작할 수 있습니다.
class Monster():
# 클래스의 공용 속성
species = "악마"
# 클래스 초기화(생성자), 클래스 인스턴스화 시 자동 호출됩니다.
def _ ...
5월 22일 12:41에 게시됨