캡슐화 (Encapsulation) 1. 개요 캡슐화란 [[객체지향 프로그래밍]](OOP)에서 데이터(속성)와 그 데이터를 조작하는 메서드(행위)를 하나의 단위인 클래스로 묶고, 내부 구현 상세를 외부로부터 숨겨 객체의 상태를 보호하는 소프트웨어 설계 원칙이다. 캡슐화의 핵심 목적은 객체의 내부 상태가 외부의 임의적인 조작으로 인해 오염되는 것을 방지하고,…
검색 결과
"캡슐화"에 대한 검색 결과 (총 96개)
PPTP (Point-to-Point Tunneling Protocol) 1. 개요 PPTP(Point-to-Point Tunneling Protocol)는 사설 네트워크를 공용 네트워크(인터넷)를 통해 연결하여 마치 하나의 로컬 네트워크에 있는 것처럼 통신하게 해주는 가상 사설망(VPN, Virtual Private Network) 프로토콜이다. 마이크로…
VPN 개요 (Virtual Private Network, 가상 사설망)은 공용 네트워크(예: 인터넷)를 통해 개인 또는 조직의 사설 네트워크를 확장하는 기술입니다. 사용자는 물리적으로 떨어진 위치에더라도, VPN을 통해 안전하고 암호화된 통신 채널을 형성함으로써 마치 로컬 네트워크에 직접 연결된 것처럼 데이터를 주고받을 수 있습니다. 이 기술은 보안성, …
재사용성 (Reusability) 1. 개요 재사용성(Reusability)이란 소프트웨어 공학에서 이미 개발된 코드, 모듈, 설계 또는 문서 등의 자산을 새로운 시스템이나 동일 시스템의 다른 부분에서 수정 없이 또는 최소한의 수정만으로 다시 사용할 수 있는 '능력(Capability)'이자, 이를 통해 개발 효율을 높이는 '실천 방식(Practice)'을…
객체지향 프로그래밍객체지향 프로그래밍(Object-Oriented Programming, 약칭: OOP)은 소프트웨어 개발에서 현실 세계의 개념을 프로그램 내에서 모델링하기 위해 "객체"를 중심으로 설계하는 프로그래밍 패러다임입니다. 이 패러다임은 코드의 재사용성, 유지보수성, 확장성을 높이기 위해 널리 사용되며, 현대의 주요 프로그래밍 언어들(예: Jav…
전역 스코프 (Global Scope) 1. 개요 전역 스코프(Global Scope)란 프로그램 전체에서 접근 가능한 가장 바깥쪽의 유효 범위이자, 다른 모든 스코프의 최상위 부모 스코프로서, 이곳에 선언된 변수와 함수는 코드의 어느 위치에서든 참조하거나 수정할 수 있는 특성을 가집니다. 프로그래밍에서 스코프(Scope)란 식별자(변수, 함수 이름 등)가…
SQL (Structured Query Language) 1. 개요 SQL(Structured Query Language, 구조화 질의 언어)은 관계형 데이터베이스 관리 시스템(RDBMS)에서 데이터를 저장, 수정, 삭제 및 조회하기 위해 설계된 표준 프로그래밍 언어이다. SQL은 데이터베이스의 구조를 정의하고 데이터를 조작하는 표준화된 인터페이스를 제공하…
SSH 터널링 (SSH Tunneling) 1. 개요 SSH 터널링(SSH Tunneling)이란 보안되지 않은 네트워크 트래픽을 SSH(Secure Shell) 프로토콜의 암호화된 연결 내부에 캡슐화하여 전송함으로써, 데이터의 기밀성을 보장하고 방화벽 등의 네트워크 제약을 우회하는 네트워크 기술이다. SSH는 기본적으로 원격 서버에 안전하게 접속하기 위한…
DNS 누수(DNS Leak) 방지 DNS 누수(DNS Leak)란 VPN(가상 사설망)이나 프록시 서버를 사용하여 네트워크 트래픽을 암호화하고 IP 주소를 숨겼음에도 불구하고, DNS 질의 요청이 암호화된 터널 외부의 기본 DNS 서버로 전송되는 현상을 말합니다. 이로 인해 사용자의 실제 신원과 방문 기록이 ISP(인터넷 서비스 제공자) 등에 노출될 수 …
리팩토링 리팩토링(Refactoring)은 소프트웨어 개발 과정에서 기존 코드의 외부 동작을 변경하지 않으면서 내부 구조를 개선하는 작업을 의미합니다. 이는 코드의 가독성, 유지보수성, 확장성을 높이기 위한 핵심 기술 중 하나로, 현대 소프트웨어 유지보수의 핵심 실천 방법으로 널리 사용되고 있습니다. 리팩토링은 단순한 코드 정리 이상의 의미를 가지며, 시스…
TCP/IP 모델 TCP/IP 모델(Transmission Control Protocol/Internet Protocol model)은 인터넷의 핵심 프로토콜인 TCP와 IP를 기반으로 한 네트워크 통신 모델입니다. OSI 참조 모델과 함께 네트워크 시스템의 설계와 구현을 위한 표준화된 프레임워크로 널리 사용되며, 현대 인터넷의 기술적 토대를 형성합니다. …
OSI 7계층 모델 (OSI 7 Layer Model) 1. 개요 OSI 7계층 모델은 국제표준화기구(ISO, International Organization for Standardization)에서 제정한 네트워크 통신 표준 모델로, 서로 다른 제조사의 네트워크 장비와 소프트웨어가 원활하게 통신할 수 있도록 통신 과정을 7개의 독립적인 계층으로 분리하여 …
디자인 패턴 개요 디자인 패턴(Design Pattern)은 소프트웨어 설계에서 반복적으로 발생하는 문제를 해결하기 위한 일반적이고 검증된 해결책을 의미합니다. 이는 특정한 코드 조각이나 라이브러리가 아니라, 문제 해결을 위한 구조적 접근 방식과 최선의 실천 사례(Best Practice)를 문서화한 것입니다. 디자인 패턴은 소프트웨어의 유지보수성, 확장성…
프로그래밍 언어 (Programming Language) 1. 개요 프로그래밍 언어란 인간이 컴퓨터에게 특정 작업을 수행하도록 지시하기 위해 사용하는 일련의 기호와 규칙으로 이루어진 형식 언어이다. 컴퓨터 하드웨어는 기본적으로 0과 1로 이루어진 이진수(Binary)만을 이해할 수 있으나, 인간이 이를 직접 다루기에는 효율성이 매우 낮다. 따라서 프로그래밍…
빌드 방법 개요 소프트웨어 개발 과정에서 빌드(Build)는 소스 코드를 기반으로 실행 가능한 프로그램이나 애플리케이션을 생성하는 일련의 과정을 의미합니다. 이 과정은 코드 컴파일, 리소스 병합, 패키징, 테스트 실행, 최적화 등 다양한 단계를 포함하며, 소프트웨어의 품질과 배포 효율성에 직접적인 영향을 미칩니다. 빌드 방법은 프로젝트의 규모, 사용하는 기…
LLC (Logical Link Control) 1. 개요 LLC(Logical Link Control, 논리 링크 제어)는 OSI 7계층 모델의 제2계층인 데이터 링크 계층(Data Link Layer)의 두 개의 하위 계층 중 상위 계층(Upper Sublayer)으로, 네트워크 계층(Layer 3)과 물리적 매체 접근 제어(MAC) 계층 사이에서 인터…
class JavaScript에서 class는 객체 지향 프로그래밍(OOP, Object-Orient Programming)을 보 직관적이고 구조적으로 구현할 수 있도록 도와주는 문법적 구조입니다. ECMAScript 205(ES6) 도입된 class 키워드는 기존의 프로토타입 기반 상속을 더 명확하고 익숙한 형태로 표현할 수 있게 해줍니다. 이 문서에서는…
IEEE 802.3 1. 개요 IEEE 802.3은 전기전자공학자협회(IEEE)에서 제정한 유선 로컬 영역 네트워크(LAN, Local Area Network)의 [[물리 계층]](Physical Layer)과 [[데이터 링크 계층]](Data Link Layer)의 매체 액세스 제어(MAC) 하위 계층에 대한 표준 규격이다. 일반적으로 '이더넷(Ether…
RFC 826 (ARP: Address Resolution Protocol) 1. 개요 RFC 826은 네트워크 계층의 논리적 주소인 IP 주소를 데이터 링크 계층의 물리적 주소인 MAC 주소(Media Access Control Address)로 대응시키기 위한 주소 결정 프로토콜(Address Resolution Protocol, ARP)을 정의한 표준…
VPN 게이트웨이 (VPN Gateway) 1. 개요 VPN 게이트웨이(VPN Gateway)는 공용 네트워크(Public Network)를 통해 전송되는 데이터를 암호화하여, 외부의 사용자가 내부 네트워크에 안전하게 접속하거나 서로 다른 두 네트워크를 가상으로 연결하는 네트워크 진입점(Entry Point) 역할을 하는 네트워크 보안 장비(Hardware…