본문 바로가기

전체 글267

[예제로 배우는 C# 프로그래밍] 클래스 C# 클래스 클래스 class 키워드는 Reference Type을 정의하는데 사용된다. 클래스는 메서드, 속성, 필드, 이벤트 등을 멤버로 포함하는 소프트웨어 단위로서 보통 이 클래스 정의로부터 객체를 생성해서 사용하게 된다. 클래스를 정의할 때 중요한 멤버는 공용 메서드와 속성인데, 이 공용 멤버들은 외부 객체와의 상호작용을 위해 사용된다. 클래스 정의는 class 키워드를 사용해서 정의한다. class 키워드 뒤에 클래스명을 써주고, 클래스 블럭 안에 필드, 메서드, 속성, 이벤트 등을 정의해준다. 클래스 각 멤버들은 public, protected, private 등의 접근제한자에 따라 외부 객체로부터 접근이 허용될 수도 있고 제한될 수도 있다. public class MyCustomer { //.. 2022. 7. 6.
[예제로 배우는 C# 프로그래밍] 구조체 C# 구조체 Value Type vs Reference Type C#은 Value Type과 Reference Type을 지원한다. struct를 사용하면 Value Type을, class를 사용하면 Reference Type을 만든다. C# .NET의 기본 데이터형들은 struct로 정의되어 있다. 즉, int, double, float, bool 등의 기본 자료형들은 모두 struct로 정의된 Value Type이다. Value Type은 상속될 수 없으며, 주로 상대적으로 간단한 데이터값을 저장하는데 사용된다. Reference Type은 클래스를 정의하여 만들며, 상속이 가능하고 좀 더 복잡한 데이터와 행위들을 정의하는 곳에 많이 사용된다. Value Type의 파라미터 전달은 데이터를 복사하여.. 2022. 7. 6.
[예제로 배우는 C# 프로그래밍] 네임스페이스 C# 네임스페이스 네임스페이스  .NET Framework는 무수하게 많은 클래스들을 갖고 있는데, 이 많은 클래스들을 충돌 없이 보다 편리하게 관리하고 사용하기 위해 .NET에서 네임스페이스를 사용한다. C#에서도 이러한 개념을 적용하여 클래스들이 대개 네임스페이스 안에서 정의된다. 클래스가 네임스페이스 없이도 정의될 수 있지만, 거의 모든 경우 일반적으로 네임스페이스를 정의한다. namespace MyNamespace { class A { } class B { } } 네임스페이스 참조 네임스페이스를 사용하는 방법은 두가지가 있다. ① 클래스명 앞에 네임스페이스 전부를 적는 경우 ② 프로그램 맨 윗단에 해당 using을 사용하여 사용하고자 하는 네임스페이스를 한번 설정해주고 이후 해당 파일 내에서 .. 2022. 7. 6.
[예제로 배우는 C# 프로그래밍] 예외 처리 C# 예외 처리 예외 처리 C#을 포함한 모든 .NET 프로그래밍 언어는 .NET Framework의 Exception 메커니즘에 따라 예외를 처리한다. .NET의 System.Exception은 모든 Exception의 Base 클래스이며, 예외 처리는 이 Exception 객체를 기본으로 처리하게 된다. 만약 예외가 발생했는데 이를 프로그램 내에서 처리하지 않으면 이를 Unhandled Exception이라 부르고, 프로그램은 Crash하여 종료된다. C#에서는 try, catch, finally 키워드를 사용하여 예외를 핸들링하게 되고, throw라는 키워드를 통해 Exception을 만들어 던지거나 혹은 기존 Exception을 다시 던질 수 있다. try { // 실행하고자 하는 문장들 DoSo.. 2022. 7. 6.
[예제로 배우는 C# 프로그래밍]yield C# yield yield yield 키워드는 호출자에게 컬렉션 데이터를 하나씩 리턴할 때 사용한다. 흔히 Enumerator(Iterator)라고 불리는 이 기능은 집합적인 데이터셋으로부터 데이터를 하나씩 호출자에게 보내는 역할으 한다. yield는 yield return 또는 yield break 2가지 방식으로 사용되는데, 각각의 사용처는 다음과 같다. ① yield return : 컬렉션 데이터를 하나씩 리턴하는데 사용 ② yield break : 리턴을 중지하고 Iteration 루프를 빠져나올 때 사용 다음의 예제를 살펴보자. using System; using System.Collections.Generic; class Program { static IEnumerable GetNumber().. 2022. 7. 6.
[Dreamhack Mobile Hacking - iOS] STAGE 1 보호되어 있는 글 입니다. 2022. 7. 4.
[예제로 배우는 C# 프로그래밍] 반복문 C# 반복문 for 반복 구문 for 구문은 루프 안에 있는 문장들을 반복적으로 실행할 때 사용한다. for 루프는 일반적으로 카운트 변수를 이용하여 일정 범위 동안 for 루프 안의 블럭을 실행한다. 다음 예제는 0부터 9까지 10번의 출력을 반복하는 코드이다. class Program { static void Main(string[] args) { // for 루프 for (int i = 0; i < 10; i++) { Console.WriteLine("Loop {0}", i); } } } foreach 반복 구문 foreach 구문은 배열이나 컬렉션에 주로 사용하는데, 컬렉션의 각 요소를 하나씩 꺼내와서 foreach 루프 내의 블럭을 실행하는 기능을 한다. 다음 예제는 문자열 배열을 foreac.. 2022. 7. 3.
[예제로 배우는 C# 프로그래밍] 조건문 C# 조건문 if 조건문 if 조건문은 조건식이 참이냐, 거짓이냐에 따라 서로 다른 블럭의 코드를 실행한다. 다음 예제는 a 값이 0 이상이면 val은 a 값을 그대로 갖고, 0보다 작으면 -a 값을 갖는 코드이다. int a = -11; if (a>=0) { val = a; } else { val = -a; } // 출력값 : 11 Console.Write(val); switch 조건문 switch 조건문은 조건값이 여러 값들을 가질 경우 각 case 별 다른 문장들을 실행할 때 사용된다. 각각의 경우에 해당하는 값을 case문 뒤에 지정하며, 어떤 경우에도 속하지 않는 경우는 default문을 사용한다. 각 case문 내에 break를 사용하면 해당 case 블럭의 문장들을 수행하고 switch문을.. 2022. 7. 3.
[예제로 배우는 C# 프로그래밍] 연산자 C# 연산자 연산자 연산자 타입 연산자 산술 연산자 +, -, *, /, % 할당 연산자 =, +=, -=, *=, /=, %= 증감 연산자 ++, -- 논리 연산자 &&, ||, ! 관계/비교 연산자 , ==, !=, >=, >, 2022. 7. 3.