본문 바로가기
반응형

전체 글545

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.
C# 문법 - overloading(오버로딩) vs overriding(오버라이딩) 1. overloading overloading은 멤버 메서드의 재사용이다. class Pig { void Sleep() { } void Sleep(int time) { } } 2. overriding overriding은 부모 클래스에 있는 멤버 메서드를 자식 클래스에서 재정의 하는 것이다. class Pig { public virtual void Eat() { Console.WriteLine("먹는다"); } } class PinkPig : Pig { public override void Eat() { Console.WriteLine("핑크 돼지가 먹는다"); } } 2023. 4. 12.
C# 문법 - 다형성(virtual, override) class Pig { public void Eat() { Console.WriteLine("먹는다"); } } 부모 클래스의 Eat()함수와 다르다는 것을 보여주기 위해 자식 크래스의 Eat() 함수 앞에 new를 붙여준다. class PinkPig : Pig { public new void Eat() { Console.WriteLine("분홍돼지가 먹는다"); } } class BluePig : Pig { public new void Eat() { Console.WriteLine("파랑돼지가 먹는다"); } } PinkPig pinkpig = new PinkPig(); BluePig bluepig = new BluePig(); pinkpig.Eat(); bluepig.Eat(); 각각의 해당하는 Eat.. 2023. 4. 12.
반응형