이것이 c# 이다9 이것이 C# 16장 연습문제 풀이 이것이 C# 이다 연습문제 풀이는 총 16장 까지 입니다 :) 2019. 12. 20. 이것이 C# 15장 연습문제 풀이 1번 문제 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 using System; using System.Collections; using System.Linq; using System.Text; using System.Threading.Tasks; using static System.Console; using System.IO; namespace Practice2 { class Car { public int Cost { get; set; } public int MaxSpeed { get; set; } } class MainApp { static v.. 2019. 12. 20. [C#] 접근 한정자 접근 한정자 - 감추고 싶은 것은 감추고, 보여주고 싶은 것은 보여줄 수 있도록 코드를 수식하며, 필드, 메서드를 비롯해 프로퍼티 등 모든 요소에 대해 사용 가능. C#에서 제공하는 접근 한정자는 모두 여섯 가지이다. public - 클래스 내부/외부 모든 곳에서 접근 가능. protected - 클래스의 외부에서는 접근할 수 없지만, 파생클래스에서는 접근가능. private - 클래스의 내부에서만 접근할 수 있다. 파생 클래스에서도 접근이 불가능. internal - 같은 어셈블리에 있는 코드에서만 public으로 접근할 수 있다. 다른 어셈블리에 있는 코드에서는 private와 같은 수준의 접근성을 가진다. protected internal - 같은 어셈블리에 있는 코드에서만 protected로 접근.. 2019. 5. 18. [C#] 정적 필드와 메소드 static - 사전적으로 '정적'이라는 뜻을 갖고 있다. 움직이지 않는다는 뜻이며, C#에서 static은 메서드나 필드가 클래스의 인스턴스가 아닌 클래스 자체에 소속되도록 지정하는 한정자이다. static 속성, 필드 정적(static) 속성 및 필드는 [클래스명. 필드명]과 같이 사용한다. Non static 필드들은 클래스 인스턴스를 생성할 때마다 메모리에 매번 새로 생성하게 되는 반면, static 필드는 프로그램 실행 후 해당 클래스가 처음으로 사용될 때 한번 초기화되어(프로그램 종료 시 해제) 계속 동일한 메모리를 사용하게 된다. 그렇다면 정적 필드를 만들어서 얻게 되는 이득은 무엇일까? static으로 수식한 필드는 프로그램 전체에 걸쳐 하나밖에 존재하지 않는다. 프로그램 전체에 걸쳐 공유.. 2019. 5. 18. [C#] 생성자와 종료자 생성자 - 생성자는 클래스와 이름이 같고, 반환 형식이 없다. 생성자의 임무는 해당 형식(클래스)의 객체를 생성하는 것뿐이기 때문이다. 클래스를 선언할 때 명시적으로 생성자를 구현하지 않아도 컴파일러에서 생성자를 만들어준다. 생성자를 구현해야 할 때는 객체의 필드를 원하는 값으로 초기화하고 싶을 때이다. 또한 오버 로딩 가능. 종료자 - 종료자는 생성자와는 달리 매개변수도 없고, 한정자도 사용하지 않는다. 또한 오버 로딩도 불가능하며 직접 호출할 수도 없다. CLR의 가비지 컬렉터가 객체가 소멸되는 시점을 판단해서 종료자를 호출한다. 생성자 예제 ※ 컴파일러가 기본 생성자를 제공하지 않는 경우 - 생성자를 하나라도 직접 정의한다면 컴파일러는 매개 변수 없는 기본 생성자를 제공하지 않는다! 직접 생성자를 .. 2019. 5. 18. [C#] 메소드 오버로딩 오버로딩 (Overloading) - 오버 로딩이란 "과적하다"라는 뜻을 가지고 있다. 메서드 오버 로딩은 하나의 메서드 이름에 여러 개의 구현을 올리는 것을 뜻한다. 일반적으로 하나의 클래스 안에 정의된 메서드 들의 이름은 중복될 수 없다. 그러나 오버 로딩 기법을 이용하면 하나의 클래스에 같은 이름을 가진 메서드를 여러 개 정의할 수 있다. 예제 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 using System; using static System.Console; using System.Collections; namespace Practice2 { class MainApp { // Plus 메소드를 작성합니다... 2019. 5. 18. 이전 1 2 다음