정적 타이핑(Static Typing)과 동적 타이핑(Dynamic Typing) 간단 정리
정적 타이핑(Static Typing) 변수와 표현식의 타입을 컴파일 타임에 결정하는 타입 시스템을 의미합니다. 정적 타이핑을 사용하면 프로그램을 실행하기 전에 타입 오류를 탐지할 수 있습니다. 이는 코드의 안전성을 높이고, 오류를 미리 발견할 수 있어 디버깅 시간을 줄여줍니다. 대표적인 언어 C, C++, C#, Java, Swift,...
정적 타이핑(Static Typing) 변수와 표현식의 타입을 컴파일 타임에 결정하는 타입 시스템을 의미합니다. 정적 타이핑을 사용하면 프로그램을 실행하기 전에 타입 오류를 탐지할 수 있습니다. 이는 코드의 안전성을 높이고, 오류를 미리 발견할 수 있어 디버깅 시간을 줄여줍니다. 대표적인 언어 C, C++, C#, Java, Swift,...
타입 추론(Type Inference)이란, 프로그램의 변수나 표현식의 타입을 명시적으로 지정하지 않아도 컴파일러나 인터프리터가 자동으로 그 타입을 유추하는 기능을 말합니다. 타입 추론은 개발자의 코드를 간결하게 하고 가독성을 높이는데 기여하며, 컴파일러는 이를 통해 프로그램의 타입 안정성을 유지할 수 있습니다. 예를 들어, C++의 auto...
C++의 #include <sstream> 헤더는 메모리에 있는 문자열을 사용하여 데이터를 다른 타입으로 파싱하거나, 데이터를 문자열로 변환하는 기능을 제공하는 String Stream 클래스들을 포함하고 있습니다. IStringStream istringstream 클래스는 문자열을 입력 스트림으로 사용할 수 있게 합니다. 이 클래스를...
Enum (열거형) 열거형(Enum)은 C++에서 상수를 정의하는 방법 중 하나로, 관련된 이름 있는 상수들을 하나의 묶음으로 관리하기 위해 사용됩니다. 이러한 열거형을 사용하면 코드의 가독성을 높이고, 특정 값들에 의미를 부여할 수 있습니다. 일반적으로 열거형의 각 상수는 고유한 이름과 값을 가집니다. enum Color { RED =...
출처: File:ASCII-Table.svg - Wikipedia ASCII 코드 컴퓨터에서 문자 데이터를 처리하는 기본적인 방법 중 하나는 ‘아스키 코드’를 사용하는 것입니다. 아스키 코드는 “American Standard Code for Information Interchange”의 약자로, 1960년대에 개발된, 컴퓨터가 텍스트를 이해하...
진법 표 진법 2진법 0000 00...
순수 가상 함수(Pure Virtual Function) 순수 가상 함수는 구현이 없는 가상 함수로, 파생 클래스에서 반드시 재정의해야 하는 함수를 의미합니다. 순수 가상 함수는 클래스의 선언에서 = 0 으로 표시됩니다. class Base { public: virtual void pureVirtualFunction() = 0; // 순수...
기본적으로 C++에서 소멸자는 클래스 인스턴스가 소멸될 때 호출되어 자원을 해제하는 역할을 합니다. 하지만 상속 관계에 있는 클래스들에서는 조금 더 신경 써야 할 부분이 있습니다. 예를 들어, 다음과 같은 클래스 구조를 생각해 봅시다. class Base { public: Base() { cout << "Base ...
가상 함수(virtual function)란 C++ 프로그래밍 언어는 객체 지향 프로그래밍(OOP)을 지원하며, 그 중 다형성(polymorphism)이 중요한 개념 중 하나입니다. 다형성을 구현하는 한 방법으로, 가상 함수는 유연성과 확장성을 크게 향상시킵니다. 가상 함수(virtual function)는 기본 클래스에서 선언되고, 파생 클래스...
객체 지향 프로그래밍(OOP)에서 중요한 개념은 클래스와 객체입니다. 클래스는 객체를 생성하는 설계도로, 클래스로부터 생성된 실체를 인스턴스라고 합니다. 이러한 인스턴스는 자신을 가리키는 특별한 포인터, this 포인터를 가지고 있습니다. 이 포인터는 인스턴스의 멤버에 접근할 수 있게 하지만, 정적 멤버 함수에서는 사용될 수 없습니다. 정적 멤버...