본문 바로가기
반응형

분류 전체보기505

C# 문법 - virtual vs abstract vs interface virtual C# 문법 - 다형성(virtual, override) class Pig { public void Eat() { Console.WriteLine("먹는다"); } } 부모 클래스의 Eat()함수와 다르다는 것을 보여주기 위해 자식 크래스의 Eat() 함수 앞에 new를 붙여준다. class PinkPig : Pig { public new void Eat() { Consol code-piggy.tistory.com 1. 선택적으로 override 가능하다. 2. 부모 클래스에서 virtual 메서드의 본문을 정의 할 수 있다. abstract C# 문법 - abstract abstract 클래스를 만들 때 행위에 강요를 주는 것 클래스 내의 함수를 추상적으로 만들었으므로 실제 내용이 없다. .. 2023. 4. 16.
C# 문법 - interface 인터페이스 다중 상속을 받을 수 있다. 추상클래스와 달리 일반 변수와 함수를 선언할 수 없다. 즉 모든 함수가 텅빈 추상함수로만 구성되어 있다. 일반적으로 이름 앞에 I를 붙인다 interface IFlyable { } 인터페이스 안에는 어짜피 추상함수만 들어갈 수 있으므로 굳이 abstract를 안붙여도 된다. interface IFlyable { abstract void Fly(); } 인터페이스 안의 함수는 접근 한정자를 쓰지 않는다. 모든 멤버는 public이 기본으로 지정된다. interface IFlyable { void Fly(); } 나의 기능을 갖고 있는 애라면 fly라는 인터페이스 함수를 제공 있어야하는데 fly함수가 어떻게 구현해야하는지는 물려주지 않는다. 즉 필드를 포함하고 있지 않.. 2023. 4. 14.
C# 문법 - abstract abstract 클래스를 만들 때 행위에 강요를 주는 것 클래스 내의 함수를 추상적으로 만들었으므로 실제 내용이 없다. abstract class Pig { public abstract void Eat(); public void Jump() { Console.WriteLine("점프"); } } Pig의 자식 클래스에서는 반드시 Eat() 함수를 오버라이딩 해야 한다. class PinkPig : Pig { } 만약 오버라이딩을 하지 않는 경우 아래와 같은 오류가 나온다. class PinkPig : Pig { public override void Eat() { Console.WriteLine("분홍 돼지"); } } C#에서는 다중 상속을 할 수 없다. class PinkPigFly : Pig, Fly.. 2023. 4. 14.
C# - Dictionary(찾기, 추가, 제거, 출력 메서드) Dictionary를 사용하기 위해서는 System.Collections.Generic 네임스페이스를 추가해줘야한다. using System.Collections.Generic public class Dictionary : 1. Add 지정한 key와 value를 Dictionary에 추가 public void Add (TKey key, TValue value); Dictionary pig = new Dictionary(); pig.Add(1,"핑크돼지"); pig.Add(2,"블루돼지"); pig.Add(3,"퍼플돼지"); pig.Add(4,"블랙돼지"); 2. KeyValuePair 키/값의 쌍을 설정하거나 검색할 수 있게 정의한다. public readonly struct KeyValuePair f.. 2023. 4. 14.
C# - List (찾기, 추가, 제거, 정렬 메서드) List를 사용하기 위해서는 System.Collections.Generic 네임스페이스를 추가해줘야한다. using System.Collections.Generic; List pig = new List(); 1. Add List 끝 부분에 추가 public void Add (T item); List pig = new List(); pig.Add(2); pig.Add(3); 2. Remove 맨 처음에 발견되는 특정 개체 제거 public bool Remove (T item); pig.Remove(3); 3. RemoveAt 지정된 인덱스에 있는 요소를 제거 public void RemoveAt (int index); pig.RemoveAt(0); 4. Sort 기본 비교연산을 통해 List 요소를 정렬.. 2023. 4. 13.
C# - String (찾기, 변형, 분할, 제거 메서드) 1. 찾기 01 Contains 특정 문자열이 문자열안에 있는지 확인 public bool Contains (string value); 반환 Boolean : 문자열이 있으면 true 없으면 false 를 반환한다. string name = "Pink Pig"; bool found = name.Contains("Pink"); Console.WriteLine($"found 메소드 결과 : {found}"); 02 IndexOf 특정 문자가 문자열안에 있는지 확인 public int IndexOf (string value); 반환 Int32 : 해당되는 문자열이 있으면 몇번째 인덱스인지, 존재하지 않으면 -1 반환한다. string name = "Pink Pig"; int index = name.IndexO.. 2023. 4. 13.
반응형