Programming/C# (52) 썸네일형 리스트형 컬렉션(Collection) 컬렉션 - 데이터 집합 - 배열 (단일 데이터형 집합), 컬렉션(단일, 다중 데이터형 집합) - ArrayList - HashTable - Queue - Stack - 동적으로 메모리 확장 - 내부 수정, 삭제, 검색 등 기능 제공 using System; using System.Collections.Generic; using System.Collections; using System.Linq; using System.Text; namespace Test { class ArrayList01 { static void Main(string[] args) { //배열 -> 크기가 불변(고정) //컬렉션 -> 크기가 가변 배열 int[] ns = new int[3]; ns[0] = 34; ns[1] = 34; .. 프로퍼티(Properti), 인덱서(indexer) using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Test { class Property01 { static void Main(string[] args) { Test t1 = new Test(10); Console.WriteLine(t1.GetN()); Console.WriteLine(t1.ToString()); t1.SetN(20); Console.WriteLine(t1.GetN()); //t1.n = 30; //Console.WriteLine(t1.n); // t1.N = 300; Console.WriteLine(t1.N); } } class Test { //1~100 캡슐화 pr.. 참조형 형변환 참조형 형변환 - 상속 관계에 있는 부모, 자식 클래스간의 형변환(상속관계에 있는것만 참조형 형변환이 가능하다.) - 부모형 -> 자식형 : 다운캐스팅(Down Casting) - 자식형 -> 부모형 : 업캐스팅(Up Casting) 업 캐스팅 - 100% 가능 - 암시적, 명시적 가능 - 캐스팅이 발생해도 객체 자체는 변화 없음 다운 캐스팅 - 상황에 따라 가능 - 반드시 명시적으로 구현 - 예외 발생 가능 -> InvalidCastException 다운캐스팅 100% 불가능 Parent p2; Child c2; p2 = new Parent(); c1 = (Child)p2; 암시적 형변화 : 그냥 선언하지 않아도 형변화가 가능하다 명시적 형변화 : 반드시 명시하여 형변화 해야한다. 하지만 반드시 암시적.. 최종클래스(Sealed), 인터페이스(Interface) 최종클래스 using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Test { class Sealed { static void Main(string[] args) { NowTime t1 = new NowTime(); } } //봉인(최종) 클래스 // - 성능 이익 // - 닷넷 제공 클래스의 최하위 클래스들은 봉인 클래스 sealed class Time { } class NowTime : Time { } } 인터페이스(Interface) 추상클래스에서 확장된 개념 - 클래스의 표준 사항을 결정하는 클래스 - 추상클래스와 유사 - 구성 요소 : 메서드, 프로퍼티, 인덱서, 이벤트 등..표준.. 오버라이딩 using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Test { class Overriding03 { static void Main(string[] args) { Time t1 = new Time(5, 20); Console.WriteLine(t1.GetTime()); DateTime t2 = DateTime.Now; //원형 Console.WriteLine(t2.ToString()) 내부적으로 ToString을 강제 호출한다. Console.WriteLine(t2); Console.WriteLine(t1); //System.Object 클래스의 메서드 : ToString() // ->.. 추상클래스(Abstract Class) 추상클래스 - 일반 클래스와 상속 관계를 맺는 클래스 - 상속 받는 객체들을 표준화하는 역할 - 상속시 일반 클래스보다 상위에 위치한다. - 객체생성을 직접 하지 못한다. - 부분 구현이 가능하다.(데이터를 가질수 있고, 메서드도 구현할수 있다. 추상메서드(Abstract Method) - 추상클래스 내에서 선언되는 메서드 - 파생 클래스(자식클래스)에서 반드시 구현해야 함 - 메서드 본문을 가질수 없다. 추상클래스는 실체화가아니다. 부모역활만 한다. 1. 멤버를 구성할수 있고 abstract class Printer { public string name; public string owner; 2. 행동을 만드는 부분을 규약 할수 있다. public abstract void Print(); using S.. 클래스 상속, 오버라이딩 클래스 상속(Inheritance) - 부모 객체의 멤버를 자식 객체가 물려 받는 것 - 코드의 재사용 - 코드의 확장 - 상속(Inheritance) - 파생(Derive) - 확장(Extend) - 슈퍼(super)클래스 - 서브(sub)클래스 - 부모클래스 - 자식 클래스 - 기본 클래스 - 파생 클래스 코드의 재사용 하기위해서 상속 개념 이용 상속시.. - public 은 상속이 가능하고, 자식클래스에서도 public이 된다. - private은 상속은 가능한데, 자식클래스조차도 접근 불가능!! - protected은 상속이 가능하고, 자식클래스에서만 접근 가능 - public(공개) > protected > private(비공개) 상속관계에서는 public 처럼 작동하는것이 protected u.. Constructor(생성자) 오버로딩 using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Test { class Constructor { public static void Main(string[] args) { //Constructor(생성자 = 모든방을 초기화 해준다.) //-객체를 생성할때 자동으로 호출되는 메서드 //-역할 : 객체의 멤버를 초기화 //-특징 : 메서드 의 이름이 클래스의 이름과 동일 //-오버로딩이 가능하다. //-우리가 생성자를 선언하지 않으면 기본 생성자라는 게 자동으로 생성(무조건) // 1. 접근 지정자 public // 2. 클래스 이름과 동일하게.. // 3. 반환값X, 인자값X // 4... 이전 1 2 3 4 5 ··· 7 다음