분류 전체보기107 Part2. C# 기초 다지기(12. 인수 전달 방법) C#에서는 메서드에 인수를 전달하는 방법으로 크게 세 가지 방식이 있습니다. 각각의 방법은 서로 다른 방식으로 인수를 전달하며, 각각의 상황에 맞게 사용됩니다. 이번 포스팅에서는 인수를 전달하는 세 가지 방식에 대해서 정리했습니다. 값에 의한 전달(Pass by Value) 값에 의한 전달은 메서드에서 전달된 인수의 값이 복사되어 처리되는 방식입니다. 이 방식으로 전달된 인수는 메서드에서 변경되어도 호출한 쪽에는 영향을 주지 않습니다. static void Increase(int num) { num = num + 1; } static void Main(string[] args) { int number = 5; Increase(number); Console.WriteLine(number); // 출력 결과.. 2023. 3. 2. C++ 기초(std::string 클래스) C++ 표준 라이브러리에서 제공하는 std::string 클래스는 문자열을 다루는 데 매우 유용한 도구입니다. C 스타일의 문자열을 사용하는 것에 비해 많은 이점이 있습니다. 이번 포스팅에서는 std::string 클래스의 사용법과 그 장점에 대해서 정리했습니다. C 스타일 스트링의 문제점 C 스타일 문자열은 null로 끝나는 문자 배열입니다. 따라서 문자열 길이를 추적하기 위해 null 문자를 삽입해야 합니다. 이는 많은 문제를 발생시킬 수 있습니다. 예를 들어, 문자열 길이를 추적하지 않거나, 문자열 길이를 초과하는 메모리 할당 또는 복사 등의 문제가 발생할 수 있습니다. 또한, C 스타일 문자열은 문자열을 조작하기 위한 여러 함수를 제공하지만, 이러한 함수들은 보안에 취약하며 예외를 처리할 수 없습.. 2023. 3. 2. Part2. C# 기초다지기(11. 메서드 오버로딩) 메서드 오버로딩 C#에서 메서드 오버로딩(overloading)은 하나의 클래스나 구조체 내에서 메서드 이름은 같고 매개변수의 개수나 타입이 다른 여러 메서드를 정의하는 것입니다. 즉, 같은 이름의 메서드가 매개변수의 개수나 타입에 따라 다른 동작을 하게 됩니다. 메서드 오버로딩을 사용하면 같은 이름으로 메서드를 여러 개 만들 수 있기 때문에 같은 동작을 하는 메서드라도 매개변수의 종류나 개수를 다르게 하여 코드 중복을 줄일 수 있습니다. 아래는 메서드 오버로딩을 사용한 예제입니다. using System; namespace MethodOverloading_exam { class Calculator { public int Add(int x, int y) { return x + y; } public dou.. 2023. 2. 28. [Design Pattern] Adapter Adapter 패턴이란? 어댑터(Adapter) 패턴은 서로 다른 두 개체를 연결하여 인터페이스 호환성을 제공하는 패턴입니다. 어댑터 패턴은 새로운 인터페이스를 만들어 기존의 클래스를 활용할 수 있게끔 하거나, 기존의 인터페이스를 수정하지 않고 다른 인터페이스를 활용할 수 있게끔 도와줍니다. Adapter 패턴의 구성요소 일반적으로 어댑터 패턴은 다음과 같은 세 가지 구성요소를 가지고 있습니다. Target: 어댑터 패턴을 통해 새롭게 생성되는 인터페이스를 나타냅니다. Adaptee : 새로운 인터페이스에 맞추어야 하는 기존 클래스를 나타냅니다. Adapter : 기존 클래스를 새로운 인터페이스에 맞게끔 변환시켜 주는 클래스를 나타냅니다. Adapter 패턴의 클래스 다이어그램 다음은 어댑터 패턴의 클래.. 2023. 2. 25. Part2. C# 기초 다지기(10. 클래스의 구성) C# 클래스는 필드, 속성, 메서드, 생성자, 이벤트 등의 다양한 구성 요소를 가질 수 있습니다. 이번 포스팅에서는 C#클래스의 구성에 대해서 정리했습니다. 필드(Fields) 필드는 클래스에서 사용할 데이터를 저장하는 데 사용됩니다. 필드는 다른 클래스 멤버에서 사용될 수 있으며, 클래스의 인스턴스를 생성할 때 초기화됩니다. class MyClass { int myField; } 속성(Properties) 속성은 클래스의 필드 값을 가져오거나 설정하기 위한 메커니즘을 제공합니다. 속성은 필드를 캡슐화하여 외부에서 직접 필드 값을 변경하지 못하도록 합니다. class MyClass { private int myField; public int MyProperty { get { return myField; .. 2023. 2. 24. Part2. C# 기초 다지기(9. 클래스와 구조체) C#에서 클래스와 구조체는 둘 다 객체 지향 프로그래밍의 기본적인 구성 요소로 사용됩니다. 그러나 둘은 약간의 차이점이 있습니다. 이번 포스팅에서는 클래스와 구조체 각각의 특징에 대해서 정리했습니다. 클래스(Class) 클래스는 객체 지향 프로그래밍에서 가장 기본적인 개념 중 하나입니다. 클래스는 데이터와 메서드(또는 함수)를 포함할 수 있으며, 이러한 데이터와 메서드는 클래스의 인스턴스(즉, 객체)에서 사용될 수 있습니다. 클래스 선언 class MyClass { // 클래스의 멤버 변수 (데이터) private int myInt; private string myString; // 클래스의 생성자 public MyClass(int num, string str) { myInt = num; myString.. 2023. 2. 23. 이전 1 2 3 4 5 6 7 ··· 18 다음