태그: 인터페이스
7편
-
Go 런타임 깊이 보기: G/M/P 스케줄러, 채널 구현, 인터페이스 레이아웃, 삼색 GC
Go 런타임이 고루틴을 G/M/P 모델로 스케줄링하는 방식, 언버퍼드·버퍼드 채널과 select의 동작, iface와 빈 인터페이스의 메모리 레이아웃, 쓰기 장벽을 쓰는 삼색 마킹 GC와 GOGC 조정을 설명합니다. context 취소와 워커 풀 패턴도 다룹니다.
-
TypeScript 인터페이스: 함수 타입, 인덱스 시그니처, 확장과 선언 병합, type alias와의 차이
TypeScript 인터페이스로 객체 모양을 선언하는 법을 선택적·읽기 전용 프로퍼티부터 함수·생성자 타입, 인덱스 시그니처, extends 다중 확장, 선언 병합, implements까지 예제로 설명하고, type alias와 어느 쪽을 쓸지 판단 기준도 제시합니다.
-
Rust 트레이트 | Trait, 제네릭, 트레이트 바운드
Rust 트레이트 정의와 기본 구현, 제네릭 함수·구조체, 트레이트 바운드와 where 절·impl Trait, 연관 타입과 제네릭 매개변수의 선택 기준, dyn Trait 트레이트 객체, derive와 Iterator·From·Display 구현을 예제로 다룹니다.
-
Kotlin 클래스와 객체 | 클래스, 상속, 인터페이스
Kotlin 주 생성자와 init 블록, 부 생성자, 프로퍼티 getter·setter, open 상속과 추상 클래스, 인터페이스, data class의 copy와 구조 분해, sealed class, object 싱글톤과 companion object를 쇼핑 시스템 예제로 설명합니다.
-
[Go 2주 완성 #04] Day 7: 다형성의 재해석, 인터페이스 - 가상 함수 없이 다형성 구현하기
implements 선언 없이 메서드만 구현하면 인터페이스를 만족하는 Go의 암시적 인터페이스를 C++ 가상 함수와 비교합니다. io.Reader·io.Writer·fmt.Stringer·error 같은 표준 인터페이스, any와 타입 단언, 타입 스위치, 작은 인터페이스 설계 원칙을 다룹니다.
-
C++ 개발자의 뇌 구조로 이해하는 Go 언어
C++ 습관대로 Go를 쓰다 막히는 지점을 파일은 어디서 닫는지, 에러를 매번 if로 확인해야 하는지 같은 질문으로 풀어 봅니다. RAII와 defer·GC, 템플릿과 인터페이스, 예외와 error 반환, 스레드와 고루틴·채널의 대응 관계를 표로 정리했습니다.
-
C++ 인터페이스 설계와 PIMPL: 컴파일 의존성을 끊고 바이너리 호환성(ABI) 유지하기
private 멤버 하나만 바꿨는데 전체가 다시 빌드되는 문제를 PIMPL로 막는 방법을 설명합니다. 헤더 의존성이 재컴파일 범위를 넓히는 원리, Rule of Five 처리, incomplete type 에러, 이동 후 상태, PIMPL의 비용과 대안(전방 선언, Fast PIMPL)을 다룹니다.