분류 전체보기 41

김민찬 14주차 수업 후 과제

템플릿을 직접적으로 지원하는 언어(“template”라는 이름을 공식적으로 사용)C++ — 대표적으로 템플릿을 언어 차원에서 지원D 언어(Dlang) — 템플릿 기반 메타프로그래밍 강력 지원Rust — 제네릭 + 트레이트 기반이지만 C++ 템플릿과 유사한 메타프로그래밍 가능Go(Go 1.18+) — 제네릭 도입, 템플릿과 유사한 기능 제공Nim — 템플릿과 매크로 기능을 모두 제공Zig — 컴시간(comptime) 기반 제네릭/템플릿 기능 제공Haxe — 템플릿 메타프로그래밍 가능제네릭을 중심으로 템플릿과 유사 기능을 제공하는 언어(템플릿이라는 명칭을 쓰지 않더라도 사실상 동일한 목적을 수행)Java — 제네릭 기반C# / .NET 언어들 — 제네릭 기반Swift — 제네릭 + 프로토콜 기반Kotlin ..

카테고리 없음 2025.12.03

김민찬 13주차 수업 후 과제

virtual 키워드를 직접 사용하는 언어1. C++가장 대표적인 virtual 키워드 사용 언어가상 함수, 가상 소멸자, 다형성 구현 class Base { public: virtual void func(); }; 2. C#메서드를 오버라이드할 수 있게 할 때 virtual을 사용자식 클래스에서는 override로 재정의 class Base { public virtual void Func() { } } 3. D 언어 (D Programming Language)기본이 virtual이지만 명시적으로 사용 가능 class A { void foo() { } virtual void bar() { } } 4. Hack (HHVM/Hacklang)PHP와 유사하지만 OOP 확장으로 virtual 키워드 사용 cla..

카테고리 없음 2025.11.26

김민찬 12주차 수업 후 과제

유니티에서 상속은 다음과 같은 방식으로 활용됩니다:부모 클래스(Enemy)자식 클래스(FastEnemy, StrongEnemy 등)공통 기능을 정의고유한 기능을 추가하거나 수정재사용성 증가확장성 증가유지보수성 향상동작을 다양하게 커스터마이즈 ============================================================================================1. C#에서의 상속: 기호 사용virtual, override 키워드로 메서드 재정의 public class Animal { public string name; public virtual void Speak() { Console.WriteLine("Animal sound"); } } public clas..

카테고리 없음 2025.11.19

김민찬 11주차 수업 후 과제

함수 중첩을 지원하는 프로그래밍 언어와 예시함수 중첩(Function nesting)이란 함수 안에 또 다른 함수를 정의하거나, 함수를 인자로 전달하거나, 함수를 반환하는 형태로 함수를 중첩해서 사용하는 것을 말합니다.언어마다 이를 지원하는 방식이 다르기 때문에 주요 언어별 예시를 정리하면 다음과 같습니다.1. Python — 완전한 중첩 함수 지원 def outer(x): def inner(y): return x + y return inner add5 = outer(5) print(add5(3)) # 출력: 8 내부 함수(inner)는 외부 함수(outer)의 지역 변수 x에 접근 가능하다.이런 구조를 클로저(closure) 라고 한다.2. JavaScript — 중첩 함수 및 클로저 지원 functi..

카테고리 없음 2025.11.12

김민찬 10주차 수업 후 과제

1. const란const는 **constant(상수)**의 줄임말로, 한 번 값을 정하면 변경할 수 없는 변수를 선언할 때 사용하는 키워드입니다.언어에 따라 약간의 차이가 있지만, 공통적으로 “값이 변하지 않는다”는 의미를 가집니다.===========================================================================================const 정리1. JavaScript// const: 재할당 불가, 객체 내부는 변경 가능const PI = 3.14159;console.log(PI); // 3.14159// PI = 3; // 오류const numbers = [1, 2, 3];numbers.push(4); // 내부 값 변경 가능console..

카테고리 없음 2025.11.05