# 객체지향 프로그래밍**객체지향 프로그래밍**(Object-Oriented Programming, 약칭: OOP)은 소프트웨어 개발에서 현실 세계의 개념을 프로그램 내에서 모델링하기 위해 "객체"를 중심으로 설계하는 프로그래밍 패러다임입니다. 이 패러다임은 코드의 재사용성, 유지보수성, 확장성을 높이기 위해 널리 사용되며, 현대의 주요 프로그래밍 언어들(...
검색 결과
"객체지향"에 대한 검색 결과 (총 41개)
# Python ## 개요 **Python**(파이썬)은 1991년 네덜란드의 프로그래머인 **귀도 반 로섬**(Guido van Rossum)이 개발한 고급 프로그래밍 언어로, 코드의 가독성과 간결성을 중시하는 설계 철학을 지닌다. Python은 "배우기 쉬우면서도 강력한 언어"라는 평가를 받으며, 초보자부터 전문가까지 폭넓게 사용되고 있다. 현재는 ...
# Types and Programming Languages ## 개요 『**Types and Programming Languages**(이하 *TAPL*)』은 컴퓨터공학, 특히 프로그래밍 언어 이론과 형식 시스템(formal systems) 분야에서 가장 영향력 있는 학술 서적 중 하나이다. 저자인 **벤자민 C. 피어스**(Benjamin C. Pi...
# Gang of Four ## 개요 **Gang of Four**(이하 GoF)는 소프트웨어 공학 분야에서 객체지향 설계의 기초를 다진 네 명의 컴퓨터 과학자들을 일컫는 별칭입니다. 이들은 1994년 출판한 저서 『**Design Patterns: Elements of Reusable Object-Oriented Software**』(디자인 패턴: 재...
# Pascal Pascal은 1970년대 초 스위스의 컴퓨터 과학자 **니클라우스 비르트**(Niklaus Wirth)에 의해 개발된 고급 프로그래밍 언어입니다. 구조적 프로그래밍과 데이터 구조의 명확한 표현을 강조하며 설계되었으며, 교육용 언어로 널리 사용되었습니다. 이름은 프랑스의 수학자이자 철학자인 블레즈 파스칼(Blaise Pascal)에서 유래...
# Python ## 개요 Python(파이썬)은 1991년 구이도 반 로섬(Guido van Rossum)에 의해 처음 발표된 고급 프로그래밍 언어로, **간결하고 읽기 쉬운 문법**을 특징으로 합니다. Python은 "배우기 쉬우면서도 강력한 기능을 제공한다"는 철학 아래 설계되어, 초보자부터 전문 개발자, 데이터 과학자, 연구자에 이르기까지 다양한...
# 리팩토링 리팩토링(Refactoring)은 소프트웨어 개발 과정에서 코드의 내부 구조를 개선하면서도 외부 동작은 변경하지 않는 작업을 의미합니다. 이는 코드의 가독성, 유지보수성, 확장성을 높이고 버그를 줄이기 위한 핵심 기법으로, 현대 소프트웨어 엔지니어링에서 매우 중요한 역할을 합니다. 리팩토링은 기능 추가나 수정 없이 기존 코드를 더 나은 형태로...
# 다형성 다형성(Polymorphism)은지향 프로그래밍(Objectriented Programming,OP)의 핵심 개념 중 하나로, "여러 형태를 가질 수 있는 능력"을 의미합니다 이는 동일한터페이스나 메서드를 통해 서로 다른 클래스의 객체가 각자의 방식 동작할 수 하는 프로그래밍법입니다. 다형성을 활용하면 코드의 재사용성과 유지보수성을 크게 향상시...
# 옵셔널 타입 ## 개요 **옵셔 타입**(Optional Type)은 프로그래밍 언어에서 값이 존재할 수도 있고, 존재하지 않을 수도 있는황을 명시적으로 표현하기 위한 타입스템의 한입니다. 이는 ``이나 `undefined와 같은 특수 허용하는 변수를 안전하고 명하게 다루기 설계 패턴으로 특히 정적 타입 언어에서 널 포인터 참조(null pointe...
# ECMAScript ECMAS는 자바스크트(JavaScript) 언의 표준화된 사양ification)으로, 브라우저 및 다양한 환경에서 자바스크립트가 어떻게작해야 하는지를의하는 공식적인 기준입니다. ECMAScript는 ECMA International이라는 국제 표화 기구에서리하며, 이 표준을 바탕으로 브라우저 제작사, 개발자, 프레임워크 개발자들이...
# Types and Programming Languages ## 개요 《**Types and Programming**(이하 *TAPL*)는 벤자민 C. 파이어스(Benjamin C.)가 저술한로그래밍 언어론과 형식스템(formal type)에 관한 대표적인 교과서입니다. 이 책은 프로그래밍어의 설계, 구현 분석에 있어 **타입 이론**(type the...
# 정적 멤버 ## 개요 정적 멤버(static member)는 객체지향 프로그래밍(OOP, Object-Oriented Programming)에서 클래스의 인스턴스와는 독립적으로 존재하는 멤버를 의미. 일반적인 멤 변수나 멤버 메서드는 클래스의 인스턴스객체)가 생성될 때마다 각각의 별도 공간을 가지며, 인스턴스마다 서로 다른 값을 가질 수 있습니다. ...
# Semantic Analyzer 의미분석기(Semantic Analyzer) 컴파일러의 핵심 구성 요소 중 하나로, 소스 코드의 구문적 구조가 올바른지 확인한 이후에 그 코드의 **의미적 일관성**을 검사하는 단계입니다. 이계는 단순히 문법이 맞는지 넘어서, 프로그램이 실제로 실행 가능한 의미를 갖는지 판단하는 중요한 역할을 수행합니다. 의미분석기는 ...
# 인스턴스 ## 개요 프로그래밍, 특히 **객체지향 프로그래밍**(Object-Oriented Programming, OOP)에서 **인턴스**(Instance는 클래스(Class)로부터 생성된 구체적인 객체(Object)를합니다. 클래스는 일종의 설계도나 틀로, 데이터(속성)와 그 데이터를 조작하는 함수(메서드)를 정의하지만, 실제 프로그램에서 사용...
# 리팩토링 리팩토링(Refactoring)은 소프트웨어 개발 과정에서 기존 코드의 **외부 동작을 변경하지 않으면서 내부 구조를 개선**하는 작업을 의미합니다. 이는 코드의 가독성, 유지보수성, 확장성을 높이기 위한 핵심 기술 중 하나로, 현대 소프트웨어 유지보수의 핵심 실천 방법으로 널리 사용되고 있습니다. 리팩토링은 단순한 코드 정리 이상의 의미를 ...
# FORTRAN 7 ## 개요 FORTRAN 7은 **FORTRAN**(****mula ****slation의 약자) 계열의 프로그래밍어 중 하나로, 1978년에 공식적으로 미국국립표준협회(American National Standards, ANSI)에 의해 표준화된 버전. 공식 명칭은 **ANSI X3.9-197**이며, 일반적으로 **FORTRAN...
# 임베디드 시스템 개발 ## 개요 임베디드 시스템 개(Embedded System Development)은 특정 기을 수행하도록 설계된 전용 컴퓨터 시스템을 소프트웨어와 하드웨어의 통합을 통해 구현하는 과정을 의미합니다. 이 시스템은 일반적인 컴퓨터(예: 데스크톱 PC)와 달리 성능보다는 실시간성, 전력 효율성, 신뢰성, 소형화에 중점을 둡니다. 임베...
# 추상화 상화(Abstraction)는 객체지향래밍(Object-Oed Programming, OOP의 핵심 개념 중 하나로, 복잡한 시스템의 세부 사항을 숨기고 중요한 특징만을 드러내는 기법입니다. 이는로그램의 설계와 유지보수를 용이하게 하며, 코드 재사용성과 확장성을 높이는 데 중요한 역할을 합니다. 추상화를 통해 개발자는 시스템의 복잡성을 관리하고...
# 속성 탐색 속성 탐색(Property Lookup)은 객체지향프로그밍(OOP,-Oriented Programming) 객체의 속성이나 메서드에 접근할 때 내부적으로 수행되는 동적 과정을 의미합니다. 이 과정은 객체의스턴스, 프로토타입 체인, 클래스 구조 등에 따라 달라지며, 프로그래밍 언어마다 그 구현 방식이 다릅니다. 속성 탐색은 객체의 데이터와 행...
# ES6 클래스 문법 ECMAScript 2015 (ES6)는 자바스크립트의 주요 개정판으로, 객체 지향 프로그래밍(OOP) 스타일을 보다 직관적이고 명확하게 구현할 수 있도록 **클래스(class)** 문법을 도입했습니다. 기존의 프로토타입 기반 상속 방식은 기능적으로 동일하지만, 코드의 가독성과 유지보수성이 떨어지는 단점이 있었습니다. ES6 클래스...