[C++] 참조자와 포인터 : 별명과 주소의 차이
개요 안녕하세요. 이번 글에서는 C++의 참조자(reference)와 포인터(pointer)의 차이에 대해 알아보겠습니다. 둘 다 “다른 변수를 가리키는” 역할을 하지만, 참조자는 변수의 또 다른 이름(별명)이고 포인터는 변수의 주소를 담는 변수라는 점에서 다릅니다. 참조자 …
개요 안녕하세요. 이번 글에서는 C++의 참조자(reference)와 포인터(pointer)의 차이에 대해 알아보겠습니다. 둘 다 “다른 변수를 가리키는” 역할을 하지만, 참조자는 변수의 또 다른 이름(별명)이고 포인터는 변수의 주소를 담는 변수라는 점에서 다릅니다. 참조자 …
생김새가 비슷한 used to, be used to, get used to는 뜻이 완전히 다릅니다. 하나는 과거의 습관, 나머지 둘은 익숙함에 관한 표현입니다. 특히 뒤에 오는 형태(동사원형이냐 -ing냐)가 달라서 더 헷갈립니다. 하나씩 …
개요 안녕하세요. 이번 글에서는 C#의 제네릭(Generic)에 대해 알아보겠습니다. 제네릭은 타입을 나중에 정하도록 비워 두는 기능입니다. List<int>, Dictionary<string, int>처럼 꺾쇠(< >) 안에 타입을 넣는 것이 모두 제네릭입니다. 하나의 코드로 여러 타입을 …
“내가 부자라면 세계 여행을 할 텐데”처럼 지금 사실과 반대되는 상상을 말할 때 쓰는 것이 가정법입니다. 그중 가장 기본인 가정법 과거를 정리하겠습니다. 이름은 “과거”지만 현재의 반대 상황을 뜻한다는 점이 핵심입니다. 기본 …
개요 안녕하세요. 이번 글에서는 C++의 static 키워드에 대해 알아보겠습니다. static은 쓰이는 위치에 따라 의미가 달라져서 헷갈리기 쉽습니다. 크게 함수 안의 지역 변수, 전역 변수·함수, 클래스 멤버 세 자리에서의 쓰임을 나눠서 …
개요 안녕하세요. 이번 글에서는 C#의 예외 처리(exception handling)에 대해 알아보겠습니다. 프로그램 실행 중에는 0으로 나누기, 없는 파일 열기처럼 예상치 못한 오류(예외)가 발생할 수 있습니다. 이를 그냥 두면 프로그램이 멈추지만, try-catch로 …
개요 안녕하세요. 이번 글에서는 C#의 인터페이스(interface)에 대해 알아보겠습니다. 인터페이스는 “무엇을 할 수 있어야 하는지”만 정해 둔 규격(계약)입니다. 구현 내용은 없고 메서드·프로퍼티의 목록만 정의하며, 실제 동작은 이를 구현하는 클래스가 채웁니다. 인터페이스 …
수동태는 “~되다 / ~당하다”처럼 행위의 대상(받는 쪽)을 주어로 삼는 표현입니다. “누가 했는지”보다 “무엇이 어떻게 되었는지”가 중요할 때 씁니다. 형태는 be동사 + 과거분사(p.p.) 하나로 정해집니다. 능동태 vs 수동태 먼저 둘을 비교해 …
개요 안녕하세요. 이번 글에서는 C++의 const와 C++11에서 추가된 constexpr에 대해 알아보겠습니다. 둘 다 “바꾸지 않는 값”을 다루지만, const는 “바꾸지 않겠다는 약속”이고 constexpr는 “컴파일 시점에 값이 정해진다”는 점에서 다릅니다. 이 차이를 …
관계대명사는 두 문장을 하나로 이어 주면서, 앞의 명사를 꾸며 주는 역할을 합니다. 한국어로는 “~하는 (사람/것)”에 해당합니다. 어떤 것을 쓰느냐는 꾸밈을 받는 명사가 사람인지 사물인지로 갈립니다. who · which · that의 …