728x90
728x90
일반화(Generic) - 클래스, 함수 일반화 가능 - 키워드 - Boxing, UnBoxing을 줄일 수 있음 - 불필요한 오버로딩을 줄일 수 있음 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace _103_GenericFunc { class Program { static void GenericPrint(T data) { Console.WriteLine("data : {0}", data); } static void GenericPrint(T[] arrData) { for(int i = 0; i < arrData.Length; i..
컬렉션(Collection) - 데이터 저장, 검색, 기타 데이터 처리 특화 - 자료구조(Data Structure) - 선언 방법, 참조 방법, 중요 메소드 ArrayList - 배열과 비슷 - 크기가 유동적(동적) using System; using System.Collections; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace _095_ArrayList { class Program { static void Main(string[] args) { ArrayList arrList = new ArrayList(); //Add 함수는 어떤 데이터형도 다..
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace CheckPoint04 { class Army { protected int _HP; protected int _MP; protected int _Speed; protected int _Attack; public virtual void Run() { Console.Write("{0}의 속도로", _Speed); } public virtual void Attack() { Console.WriteLine(); if (this is Healer) { Console.Write("[마법 공격력..
다형성 - virtual, override - 객체 지향의 핵심 - 함수의 오버라이딩(재정의) - 반복문으로 객체 관리 - virtual과 override 키워드 사용 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace _083_override { class Super { protected int num; public virtual void Print() { Console.WriteLine("num : {0}", num); } } class AA : Super { public int a; public override void Prin..
this 키워드 - 객체 자신을 참조하는 키워드 - 사용처 1) 함수의 파라미터 이름과 멤버 변수 이름이 동일 2) 클래스 내부에서 멤버변수를 접근 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace _079_this { class AA { int a; //this가 가리키는 객체, private 속성 public AA(int a) { this.a = a; } public void Print() { int a = 100; this.a = 1000; Console.WriteLine("a : {0}", a); Console.WriteLi..
클래스 개념 - 클래스는 사용자가 직접 만든 틀 - 변수(필드)와 함수(메소드)를 하나의 단위로 결합 - 상속, 다형성, 파생 클래스 등 클래스의 특수화 메커니즘을 가짐 접근 한정자 - 클래스의 멤버에 액세스(접근)할 수 있는 수준 public 액세스가 제한되지 않음 protected 이 클래스 또는 이 클래스에서 파생된 클래스로만 액세스가 제한됨 internal 현재 어셈블리(.exe, .dll 등)로만 액세스가 제한됨 protected internal 포함하는 클래스, 포함하는 클래스에서 파생된 클래스 또는 동일한 어셈블리 내의 클래스로만 액세스가 제한됨 private 이 클래스로만 액세스가 제한됨 private protected 포함하는 클래스 또는 동일한 어셈블리 내의 포함하는 유형으로부터 파생된..