태그: 타입
8편
-
TypeScript 고급 타입 | Union, Intersection, Literal 타입
여러 형태를 허용하는 Union 타입과 &로 합치는 Intersection 타입, 리터럴 타입과 Type Alias를 다루고, typeof·instanceof·in·사용자 정의 타입 가드로 타입을 좁히는 방법을 API 응답과 상태 머신 예제로 설명합니다.
-
TypeScript 인터페이스: 함수 타입, 인덱스 시그니처, 확장과 선언 병합, type alias와의 차이
TypeScript 인터페이스로 객체 모양을 선언하는 법을 선택적·읽기 전용 프로퍼티부터 함수·생성자 타입, 인덱스 시그니처, extends 다중 확장, 선언 병합, implements까지 예제로 설명하고, type alias와 어느 쪽을 쓸지 판단 기준도 제시합니다.
-
TypeScript 제네릭: 함수·인터페이스·클래스 제네릭, extends 제약, 고급 패턴과 흔한 실수
any 대신 타입 매개변수로 입력과 출력 타입을 연결하는 제네릭을 함수·인터페이스·클래스에 적용하고, extends와 keyof로 제약을 거는 방법을 배열 유틸리티·캐시 시스템·Promise 래퍼 예제로 익힙니다. 제약 없이 프로퍼티에 접근하는 실수도 다룹니다.
-
Swift 변수와 타입 | var, let, 옵셔널
var와 let 선택 기준, 타입 추론, 정수·실수·문자열·불리언 타입, 명시적 타입 변환을 설명하고 옵셔널을 if let 바인딩, 옵셔널 체이닝, ?? 기본값, 강제 언래핑으로 다루는 방법을 비교합니다. 사용자 정보 처리 예제로 실제 흐름을 보여줍니다.
-
Kotlin 변수와 타입: val, var, 기본 타입과 null 안전성
val과 var를 고르는 기준, 숫자·문자·불리언 기본 타입, Nullable 타입과 ?.·?:·!!·as? 연산자, 명시적 타입 변환과 스마트 캐스트, const val·lateinit·lazy 차이를 사용자 입력 처리 예제로 설명합니다.
-
Java 변수와 타입 | 기본 타입, 참조 타입, 형변환
byte부터 double·boolean까지 기본 타입의 크기와 L·f 리터럴 접미사, String 풀과 equals 비교, 배열, widening·narrowing 형변환, 래퍼 클래스 오토박싱과 var 추론을 예제로 설명합니다.
-
C++ numeric_limits: 타입 최댓값·최솟값·NaN 조회와 오버플로우 검사
std::numeric_limits로 정수와 실수 타입의 최댓값, 최솟값, 정밀도, infinity와 NaN을 조회해 오버플로우 전에 덧셈을 검사하거나 안전하게 타입을 변환하는 방법을 다룹니다. 실수 타입에서 min()이 가장 작은 음수가 아니라는 함정도 설명합니다.
-
C++ union과 std::variant: 공용체의 타입 안전성 문제와 variant로 바꾸기
C++ union의 메모리 겹침 구조와 그 타입 안전성 문제를 std::variant(C++17)가 어떻게 해결하는지 JSON 값, 상태 머신, Result 타입 예제로 정리합니다. get_if, holds_alternative, 태그 붙은 union 함정까지 다룹니다.