반응형 전공/C# 프로그래밍28 9강. 컬렉션 (Collection) 컬렉션 컬렉션 (Collection) 같은 성격을 띈 데이터의 모음을 담는 자료구조 배열(System.Array 클래스)도 .NET 이 제공하는 다양한 컬렉션 자료구조의 일부 ICollection 인터페이스를 상속 .NET 이 제공하는 주요 컬렉션 자료구조 ArrayList Queue Stack Hashtable ArrayList ArrayList 배열과 같이 인덱스를 이용하여 요소에 접근 가능. 필요에 따라 동적으로 크기가 증가. 가장 배열과 닮은 컬렉션 컬렉션의 요소에 접근할 때는 [ ] 연산자 이용 특정 위치에 있는 요소에 데이터를 임의로 할당 가능 배열과 달리 필요에 따라 자동으로 용량이 늘어나거나 줄어듦 (용량을 미리 지정할 필요 없음) ArrayList 의 주요 메소드 Add() : 가장 마지.. 2023. 4. 20. 8강. 배열 (2) 2차원 배열 2차원 배열 선언 2개의 차원(세로+가로)으로 원소를 배치하는 2차원 배열 1차원 배열을 원소로 갖는 배열 차원의 길이를 뒤에서부터 읽어 해석 int[2, 3] → 길이가 3인 1차원 배열을 요소로 갖는 길이가 2인 2차원 배열 2차원 배열 초기화 2차원 배열의 원소 접근 첫 번째 차원과 두 번째 차원의 인덱스를 대괄호 [ ] 사이에 같이 입력 using System; namespace _2DArray { class MainApp { static void Main(string[] args) { //2차원 배열의 첫 번째 초기화 방법 int[,] arr = new int[2, 3] { { 1, 2, 3 }, { 4, 5, 6 } }; //배열의 형식과 길이 명시 for (int i = 0; i.. 2023. 4. 19. 8강. 배열 (1) 배열 배열 (Array) 같은 데이터 형의 다수의 데이터를 한번에 다뤄야 하는 경우 각각의 데이터에 대한 변수를 선언한다면 코드의 양 증가 배열 변수 한 개로 다수의 데이터 관리 가능 같은 성격을 띤 다수의 데이터를 한 번에 다뤄야 하는 경우 : 수많은 변수 대신 그만큼의 용량을 가진 변수 하나로 해결한다면? 같은 형식의 복수 인스턴스를 저장할 수 있는 형식 참조 형식으로써 연속된 메모리 공간을 가리킴 반복문, 특히 for/foreach문과 함께 사용하면 효율 향상 꺽쇠 가로 [ ] 안에 배열의 크기를 지정하여 다음과 같이 선언 배열의 출력과 연산 다수의 변수 선언과 배열 사용의 비교 using System; namespace ArraySample { class MainApp { static void M.. 2023. 4. 19. 7강. 객체지향 프로그래밍과 클래스 (6)튜플 튜플 여러 필드를 담을 수 있는 구조체 : 형식의 이름을 갖지 않음, 임시적으로 사용할 복합 데이터 형식 선언에 적합 튜플 선언 : 명명되지 않은 선언 기본적으로는 구조체, 즉 값 형식 형식 이름 없이 선언하여 사용 프로그램 전역에서 사용할 형식에는 부적합 튜플 : 명명되지 않은 튜플 (Unnamed Tuple) 필드를 담을 수 있는 형식 이름이 없는 구조체 프로그램 전체에 사용할 형식 선언이 아닌 즉석에서 사용할 복합 데이터 형식 값 형식으로 생성된 지역을 벗어나면 스택에서 소멸되므로 메모리 사용 부담이 적음 명명되지 않은 튜플 (Unnamed Tuple) 튜플 사용할 때 필드의 이름을 지정하지 않음 명명되지 않은 선언 : Item1, Item2, ...ItemN 튜플 : 명명된 튜플 (Named Tu.. 2023. 4. 19. 7강. 객체지향 프로그래밍과 클래스 (5)중첩 클래스, 분할 클래스, 확장 메소드, 구조체 클래스 간의 형식 변환 클래스 간의 형식 변환 타입을 정의하는 것은 “단위 (unit)”를 사용하는 프로그램에 유용 예를 들어, 원, 달러, 엔화와 같은 통화 (currency) 단위 사용의 경우 모든 종류의 통화를 하나의 타입으로 지정하면 금전 계산에 오류 발생의 여지 있음 아래 코드에서 달러를 엔화에 그대로 대입하면 계산의 오류 발생 원화와 엔화에 대한 클래스 정의 서로 다른 클래스의 객체를 바로 대입할 수 없음 클래스 간의 형식 변환 : implicit 연산자 서로 다른 클래스의 객체 사이의 형식 변환 가능 즉, 두 객체 사이의 대입 연산자 (=) 사용 가능 암시적, 명시적 형식 변환 모두 가능 통화 (currency) 예에서 환율을 적용한 계산 가능 using System; namespace Ty.. 2023. 4. 18. 7강. 객체지향 프로그래밍과 클래스 (4)다형성 다형성 Introduction to 다형성 (Polymorphism) 부모 클래스 객체가 자식 클래스 메소드를 사용하려면, 자식 클래스로 형식 변환 필요 조건문 통해 자식 클래스 타입을 구별하고 해당 타입의 메소드 호출 다형성은 형식변환 수행 없이 자식 클래스 메소드 호출 지원 using System; namespace IntroPolymor { class Animal { public int Age { get; set; } public Animal() { this.Age = 0; } public void Eat() { Console.WriteLine("냠냠 먹습니다."); } public void Sleep() { Console.WriteLine("쿨쿨 잠을 잡니다."); } } class Dog : A.. 2023. 4. 18. 이전 1 2 3 4 5 다음 반응형