# 절차적 프로그래밍 (Procedural Programming) **절차적 프로그래밍**(Procedural Programming)은 컴퓨터 프로그램의 흐름을 일련의 명령어, 즉 '절차(Procedure)' 또는 '함수(Function)'의 호출을 통해 제어하는 프로그래밍 패러다임입니다. 이 패러다임은 명령형 프로그래밍(Command-line Progr...
검색 결과
"캡슐화"에 대한 검색 결과 (총 50개)
# 디자인 패턴 (Design Pattern) ## 개요 **디자인 패턴**(Design Pattern)은 소프트웨어 공학에서 반복적으로 발생하는 설계 문제를 해결하기 위한 재사용 가능한 해결책을 의미합니다. 1977년 건축가 크리스토퍼 알렉산더가 건축 분야에서 처음 제안한 개념을 소프트웨어 공학에 도입한 것으로, 에리히 감마(Richard Gamma)...
# 절차형 API (Procedural API) ## 개요 **절차형 API**(Procedural API)는 객체 지향 프로그래밍(OOP)의 대안으로, 함수 호출을 통해 소프트웨어의 기능을 노출하고 제어하는 프로그래밍 인터페이스 스타일입니다. 이 접근 방식은 상태(state)와 동작(action)을 명확히 분리하며, 호출자가 명시적으로 컨텍스트(con...
# 인스턴스 (Instance) ## 개요 **인스턴스**(Instance)는 객체 지향 프로그래밍(OOP, Object-Oriented Programming) 및 소프트웨어 공학에서 **클래스(Class)**의 구체적인 실체(Instance)를 의미합니다. 쉽게 비유하자면, 클래스가 '건축 설계도'라면 인스턴스는 그 설계도를 바탕으로 실제로 지어진 '...
# 클로저 (Closure) ## 개요 **클로저(Closure)**는 프로그래밍 언어에서 함수와 그 함수가 선언될 때의 환경(렉시컬 환경)을 결합한 객체를 의미합니다. 즉, 클로저는 외부 함수의 지역 변수에 접근할 수 있는 내부 함수로, 외부 함수가 실행을 종료하고 스택에서 제거된 후에도 해당 변수의 값을 유지하고 참조할 수 있게 합니다. 클로저는 ...
# 파이썬 클래스(Class) 완벽 가이드 파이썬 클래스는 객체 지향 프로그래밍(OOP)의 핵심 구성 요소로, 데이터(속성)와 동작(메서드)를 하나의 단위로 캡슐화하여 코드의 재사용성과 유지보수성을 높이는 템플릿입니다. 클래스는 객체를 생성하는 청사진이자, 생성된 객체의 타입을 정의하는 네임스페이스입니다. ## 클래스와 객체의 기본 개념 클래스(Cla...
# Virtual DOM ## 개요 **Virtual DOM**(가상 DOM)은 웹 개발에서 사용자 인터페이스(UI)를 효율적으로 업데이트하기 위한 프로그래밍 개념입니다. 이는 실제 브라우저의 **DOM**(Document Object Model)을 메모리 상에 가상으로 복제하여, 변경 사항을 먼저 가상 구조에서 계산한 후 최소한의 실제 DOM 조작만 ...
# Gang of Four ## 개요 **Gang of Four**(이하 GoF)는 소프트웨어 공학 분야에서 객체지향 설계의 기초를 다진 네 명의 컴퓨터 과학자들을 일컫는 별칭입니다. 이들은 1994년 출판한 저서 『**Design Patterns: Elements of Reusable Object-Oriented Software**』(디자인 패턴: 재...
# 디자인 패턴 ## 개요 **디자인 패턴**(Design Pattern)은 소프트웨어 설계에서 반복적으로 발생하는 문제를 해결하기 위한 일반적이고 검증된 해결책을 의미합니다. 이는 특정한 코드 조각이나 라이브러리가 아니라, 문제 해결을 위한 **구조적 접근 방식**과 **최선의 실천 사례**(Best Practice)를 문서화한 것입니다. 디자인 패턴...
# OOP ## 개요 **OOP**(Object-Oriented Programming, 객체 지향 프로그래밍)는 소프트웨어 설계와 프로그래밍의 한 패러다임으로, **데이터와 그 데이터를 조작하는 함수를 하나의 단위인 "객체"(Object)로 묶어** 프로그램을 구성하는 방식입니다. OOP는 현실 세계의 사물을 추상화하여 소프트웨어 내에서 모델링함으로써,...
# 객체 지향 프로그래밍 ## 개요 **객체 지향 프로그래밍**(Object-Oriented Programming, 이하 OOP)은 소프트웨어를 **객체**(Object)라는 단위로 구성하여 설계하고 구현하는 프로그래밍 패러다임입니다. 각 객체는 **데이터**(속성, 필드)와 그 데이터를 조작하는 **기능**(메서드, 함수)을 하나로 묶어 캡슐화하며, ...
# 리튬-황 배터리 리튬-황(Lithium-Sulfur, Li-S) 배터리는 차세대 고에너지 밀도 전지 기술로서, 기존 리튬이온 배터리를 대체할 수 있는 잠재력을 지닌 전지 유형이다. 이 배터리는 리튬 금속을 음극으로, 황을 양극으로 사용하며, 높은 이론 에너지 밀도, 낮은 원자료 비용, 환경 친화성 등의 장점을 갖추고 있다. 특히 전기자동차, 드론, 우...
# Java Java는 전 세계적으로 널리 사용되는 객체 지향 프래밍 언어로, 995년에 선 마이로시스템즈(Sun Microsystems)에서 개발하여 이후 오라클(Oracle)에 인수된 언어입니다. "쓰기 한 번, 어디서나 실행(Written Once, Run Anywhere)" 철학 아래 설계된 Java는 플랫폼 독립성, 안정성, 보안성 등을 강점으로...
이더넷 II 프레 이더넷 II 프레(Ethernet II Frame)은 네트워크 가장 널리 사용되는 데이터크 계층 프로토콜 중 하나로, 이넷 네트워크를 통해 데이터를 전송 때 사용되는 표적인 프레임 형식. 이 프레은 IEEE 80.3 표준 이전에 개발된 디지털 장비 회사igital Equipment Corporation, DEC 인텔(Intel), 제미니...
# 인스턴스 메서드 ## 개요 **인스턴스 메서드**(Instance Method)는 객체 지향 프로그래밍(OOP, Object-Oriented Programming)에서 클래스의 인스턴스(객체)에 바인딩되어 호출되는 메서드를 의미합니다. 이 메서드는의 상태(인스턴스 변수에 접근하거나 이를 수정할 수 있으며, 클래스의 동작을 정의하는 핵심 요소 중 하나...
# C# C#(시샵, 영어: C Sharp) 마이크로소프트(Microsoft)가 2000년대 초에 개발한 **객체 지향 프래밍 언어**(Object-Oriented Programming)로, .NET 프레임크를 중심으로 설계되었습니다. C#은 C 및 C++ 문법적 구를 계승하면서도, 자바(Java)처럼 간결하고 안전한 메모리 관리 기능을 제공하여 개발자가...
# PPP ## 개요 PPP(Peer-to-Peer Protocol, 정식 명칭은 **Point-to-Point Protocol**)는 컴퓨터 네트워크에서 데이터 링크 계층(Data Link Layer)에 속하는 통신 프로토콜로, 두 노드 간의 직접적인 연결을 통해 데이터를 전송하는 데 사용됩니다. PPP는 주로 **점대점 연결**(Point-to-Po...
# 모듈 시스템 ##요 Java 모듈 시스은 **Java 9JDK 9)에서 도입된 중요한 기능으로, **Java Platform System**(JPMS)이라고도 불립니다. 이 시스템은규모 애플리이션의 구조를 보다 명확하게 하고, 코드의 유지보수성과 보안성을 향상시키기 위해 설계되었습니다. 기존의 패키지 기반 접근 방식에서 벗어나, **모듈**(modu...
# IPSec ## 개요 **IPSec**(Internet Protocol Security)은 인터넷 프로토콜(IP) 계층에서 네트워크 통신의 보안을 제공하기 위해 설계된 일련의 프로토콜과 기술의 집합입니다. 주로 **가상 사설망**(VPN) 환경에서 사용되며, 데이터의 기밀성, 무결성, 인증 및 방향성 보호를 보장합니다. IPSec는 IPv4와 IPv...
# 정적 멤버 ## 개요 정적 멤버(static member)는 객체지향 프로그래밍(OOP, Object-Oriented Programming)에서 클래스의 인스턴스와는 독립적으로 존재하는 멤버를 의미. 일반적인 멤 변수나 멤버 메서드는 클래스의 인스턴스객체)가 생성될 때마다 각각의 별도 공간을 가지며, 인스턴스마다 서로 다른 값을 가질 수 있습니다. ...