본문 바로가기

Programming

(4)
C# 초보자가 꼭 헷갈리는 3형제: < >, ( ), [ ] 프로그래밍을 처음 접하거나 C#을 배우다 보면 종종 등장하는 괄호 세트 3종.바로 , ( ), [ ]이다.겉보기엔 전부 괄호지만 이 세 가지는 전혀 다른 개념을 가진 문법 요소다.이 글에서는 각 괄호의 정확한 용도 언제 사용하는지 어떻게 구분하는지그리고 헷갈리지 않는 꿀팁까지 아주 명확하게 정리하려고 한다.1. : 제네릭(Generic) 타입 지정자언제 사용하나?제네릭 타입(클래스/메서드)을 사용할 때 자료형을 명시적으로 지정할 때 사용대표적인 예: List, Dictionary, T 제네릭 타입 등예제코드List numbers = new List(); // int 타입 요소만 저장 가능Dictionary scores = new Dictionary();꿀팁으로 기억하기는 자료형 타입을 집어넣는 ‘타입 ..
C++ 포인터(Pointer) 완전 기초 정리 포인터(pointer)란?프로그래밍을 하다 보면 ‘값’만이 아니라 그 ‘값이 저장된 위치(주소)’를 다뤄야 할 일이 생긴다.이때 사용하는 개념이 포인터(pointer) 다.간단하게 말해서 포인터는 "메모리 주소를 저장하는 변수"이다int a = 10;int* ptr = &a; // 변수 a의 주소를 ptr에 저장int* ptr: int형 포인터 변수 선언&a: 변수 a의 주소를 의미*ptr: ptr이 가리키는 주소에 있는 값포인터가 왜 필요할까?함수에서 값이 아니라 주소를 전달해서 원본 데이터를 직접 수정하고 싶을 때동적 메모리 할당 (new, delete)배열과 포인터의 유사성 활용객체와 참조, 복사 비용 최소화#include using namespace std;int main() { int nu..
enum과 switch문의 개념과 활용법 정리 Switch문 이란?Switch 문은 하나의 변수 값에 따라 여러 분기 처리를 할 수 있게 해주는 조건 분기문.if-else처럼 조건이 많아질수록 복잡해지는 코드를 간결하게 만들 수 있다.Switch{ case 1: // 실행 코드 break; case 2: // 실행 코드 break; default: // 위 case에 해당하지 않을 때 실행 break;}break문을 반드시 넣어야 함default는 옵션이지만 예외 처리나 예기치 않은 값 대응용으로 넣는게 좋다.enum(열거형)이란?enum은 관련된 상수 값들의 집합. 가독성을 높이고 의미를 부여해서 코드 실수를 줄이는데 도움이 됨enum 요일{ 월, 화, 수, 목, 금, 토, 일 // 0, 1, 2, 3, 4, 5, 6}기본..
ref, out, in 키워드 정리 C#에서 메서드의 매개변수를 넘길 때 ref, out, in 키워드를 사용하면 변수의 참조방식을 지정할 수 있다.키워드는 헷갈리기 쉽지만 아래처럼 쓰임 세는 명확합니다.키워드값 초기화 필요호출 후 값 변경 가능용도ref호출 전 반드시 초기화값 변경 가능호출자와 값을 주고받을 때out초기화 불필요 (메서드 내에서 무조건 할당해야 함)값 변경 가능여러 반환값이 필요할 때in초기화 필요값 변경 불가 (읽기 전용)읽기만 하고 성능 최적화할 때 (특히 struct)예제 코드ref : 값을 들고 들어가서 수정도 가능한 양방향 통신void AddTen(ref int number){ number += 10;}int x = 5;AddTen(ref x); // x는 15가 됨out : 빈 손으로 들어가서 뭔가를 받아..