정적 타입
# 정적 타입 ## 개요 **정적 타입**(Static Typing)은 프로그래밍 언어 변수, 함수, 표현식 등의 타입(type)이 **컴파일 타임**(compile time)에 결정되고 검사되는 타입 시스템의 한 형태입니다. 이는 프로그램이 실행되기 전에 타입 오...
# 정적 타입 ## 개요 **정적 타입**(Static Typing)은 프로그래밍 언어 변수, 함수, 표현식 등의 타입(type)이 **컴파일 타임**(compile time)에 결정되고 검사되는 타입 시스템의 한 형태입니다. 이는 프로그램이 실행되기 전에 타입 오...
# 세터 (Setter) ## 개요 자바스크립트(JavaScript에서 **세터(setter)** 는 객체의 특정 속성에 값을 할당할 때, 그 값을 직접 저장하는 대신 **사용자 정의 로직을 실행**하도록 해주는 특수한 메서드입니다. 세터는 주로 객체의 속성에 값을...
# 메모리 관리 메모리 관리는 컴퓨터 프로그래밍 프로그램이 실행 중에 사용하는 메모리 자원을 효율적으로 할당, 사용, 해제하는 과정을 의미합니다. 이는 프로그램의 성능, 안정성, 그리고 시스템 자원의 효율적 활용에 직접적인 영향을 미치므로, 모든 소프트웨어 개발에서 ...
# LLVM LLVM(Low Level Virtual Machine)은 최적화된파일러 도구를발하기 위한 오픈소스 **컴파일러 프레임워크**로, 프로그밍 언어의 소스 코드를 기계어로 변환하는 과정에서 사용되는 다양한 컴포넌트를 제공합니다. 초기에는 단일 연구 프로젝트로...
# 반환값 ## 개 **반환값**(return value)은 프로그래밍에서 함수(function)가 실행을 마친 후 호출한 위치로 전달하는 데이터를 의미합니다. 함수는 특정한 작업을 수행하고 그 결과를 반환값으로려줌으로써, 프로그램의 다른 부분에서 해당 결과를 활용...
# 가비지 컬렉션 오버헤드 ## 개요가비지 컬션(Garbage Collection, 이하 GC)은 자동 메리 관리를 제공하는 프로그래밍 언어(예: Java, C#, Python 등)에서 사용되는 핵심 메커니즘으로, 더 이상 사용되지 않는 메모리 영역을 자동으로 회수하...
# 컴파일러 ## 개요 **컴파일러**(Compiler)는 고급 프로그래밍 언어로 작성된 소스 코드를 컴퓨터가 직접 실행할 수 있는 저급 언어(예: 기계어 또는 어셈블리어)로 변환하는 소프트웨어 프로그램입니다. 컴파일러는 소프트웨어 개발 과정에서 핵심적인 역할을 하...
# 레지스터 할 ## 개요 **지스터 할당**(Register Allocation)은 컴파일러가 프로그램의 변수를 하드웨어의 제한된 수의 **CPU 레지스터**(Register)에 효율적으로 매핑하는 과정을 의미합니다. CPU 레지스터는 메모리보다 훨씬 빠른 접근 ...
# 추상화 상화(Abstraction)는 객체지향래밍(Object-Oed Programming, OOP의 핵심 개념 중 하나로, 복잡한 시스템의 세부 사항을 숨기고 중요한 특징만을 드러내는 기법입니다. 이는로그램의 설계와 유지보수를 용이하게 하며, 코드 재사용성과 확...
# Clang ##요 **Clang**은 C C++, Objective-C,-C++ 등의 프로그래밍 언어를 위한 **컴파일러 프론트엔드**(front-end)로, LLVM(Low Level Virtual Machine) 프로젝트의 일환으로 개발된 오픈소스 소프트웨어...
# 속성 탐색 속성 탐색(Property Lookup)은 객체지향프로그밍(OOP,-Oriented Programming) 객체의 속성이나 메서드에 접근할 때 내부적으로 수행되는 동적 과정을 의미합니다. 이 과정은 객체의스턴스, 프로토타입 체인, 클래스 구조 등에 따라...
# 코루틴 루틴(Coroutine)은 프로그밍에서 **비기 처리**를 구현하는 핵심 기법 중로, 함수의 실행을 일시 중단했다가중에 재개 수 있는 특별한 형태의 서루틴(subroutine입니다. 일반적인 함수 호출되면 종료될 때까지 실행 흐름을 반환하지 않지만, 코루틴...
# ES6 클래스 문법 ECMAScript 2015 (ES6)는 자바스크립트의 주요 개정판으로, 객체 지향 프로그래밍(OOP) 스타일을 보다 직관적이고 명확하게 구현할 수 있도록 **클래스(class)** 문법을 도입했습니다. 기존의 프로토타입 기반 상속 방식은 기능...
# JSON 파싱 JSON (JavaScript Object Notation)은 경량의 데이터 교환 형식으로, 사람이 읽고 쓰기 쉽고 기계가 쉽게 분석(parsing)할 수 있도록 설계되었습니다. 프로그래밍 언어에서 데이터를 저장하거나 서버와 클라이언트 간에 정보를 ...
# 팩토리 메서드 ## 개요 **팩토리 메서드**( Method)는 소프트웨 설계 패턴 중 **생성 패턴**(Creational Pattern)에 속하는 대표적인 패턴 중입니다. 이 패은 객체 생성을 서브클래스 위임함으로, 객체 생성 과정 유연성과 확장성을이는 데 ...
# 객체 지향 프래밍 객체 지향 프로그래(Object-Oriented Programming, 이하 OOP)은 소프트웨어 개발에서 현실 세계의 개념을 프로그램 내에서 모델링하기 위해 사용하는 주요한 프로그래밍 패러다임입니다. 이 방식은와 그 데이터를 처리하는 함수를 하...
# API ## 개요 **API**(Application Programming Interface, 응용로그래밍 인터페이스)는 소프트웨어 구성 요소 간에 상호작용할 수 있도록 정의된 일련의 규칙과 도구입니다. API는발자가 특정 기능을 직접 구현하지 않고도 기존 시스...
# 트레이트 () ## 개요 **트레이트**()는 객체지 프로그래밍과형 프로그래의 경계를나드는 고급 타입 시스템에서 중요한 개념으로, 특정 타입이 가져야 할 동작(메서드)이나 속성을 정의하는 추상적 인터페이스입니다. 트레이트는 단순한 인터페이스를 넘어서 재사용 가능...
# 컴파일 ## 개 **컴파일**(Compile)은 고급 프로그래밍 언어로 작성된 **소스 코드**(Source Code)를 컴퓨터가 직접 실행할 수 있는 **기계어**(Machine Code) 또는 중간 형태의 코드로 변환하는 과정을 의미합니다. 이 과정은 소프트...
# 벡터화 연산 ## 개요 **벡터화 연산**(Vectorization)은 프로그래밍과 컴퓨터 아키텍처에서 반복적인 스칼라 연산을 벡 단위로 처리하여 프램의 성능 극대화하는 기입니다. 이 기은 특히 수치 계산, 데이터 분석, 머신닝, 과학 시뮬레이션 등 대량의 데이...