목록인프런 (33)
개발자 성장일지
System.IO Stream File I/O 더보기 namespace Chapter14_2 { internal class Exam14_2 : Object { Student[] students = new Student[3]; public void Run() { ReadStudent();// 파일 호출 PrintStudent();// 파일 출력 WriteStudent();//파일 생성 } private void WriteStudent() { FileStream stream = new FileStream(@"C:\\Temp\\Test.txt", FileMode.Create); StreamWriter writer = new StreamWriter(stream, Encoding.Default); foreach ..

System.String System.String(실습) 더보기 namespace Chapter13_1 { internal class Exam13_1 { public void Run() { string str = GetString(); if(Find해묘미(str)) Console.WriteLine("해묘미 합입니다."); if(Find인오술(str)) Console.WriteLine("인오술 합입니다."); } private bool Find인오술(string str) { string[] Ios = new string[] { "인", "오", "술" }; return Ios.All(s => str.Contains(s));// 코드 요약 // 교제에 나오는 예시 //foreach(string s in Io..
1. Method를 값으로 갖는 타입 int a = 3 (3이라는 값을 갖는 타입) Student st = new Student(); (Student 객체를 갖는 타입) delegate void MyDelegate(int a); (함수를 값으로 갖는 타입) 코드 더보기 namespace Chapter17_1 { internal class Exam17_1 { delegate void MyDelegate(int val); delegate int MyDelegate1(int val); public void Run() { int a = 3; Console.WriteLine(a); Student st = new Student(); st.Name = "rkdrkd"; Console.WriteLine(st); Del..
● 제네릭(Generic) 탄생동기 ArrayList -> List 더보기 namespace Chapter16_1 { internal class Exam16_1 { public void Run() { // List 는 타입변수 List list = new List(); Student st = new Student(); st.Name = "홍홍"; st.Score = 12; st.Id = 11; list.Add(st); Console.WriteLine(st); } } } Generic Class 특정 타입의 연산 처리 등을 제너릭으로 사용할 수 는 없음 범용성을 지닌 경우에만 사용 가능 더보기 namespace Chapter16_1 { internal class Exam16_1 { public void R..
참조 형식, 값 형식에 대한 이해 Heap Memory, Stack Memory 구조체 정의 클레스 정의와 유사, calss 예약어를 struct예약어로 대체 구조체와 클래스와 다른점 인스턴스 생성을 new로 해도 되고, 안 해도 됨 참조형식이 아닌 값 형식 기본 생성자는 명시적으로 정의 불가 매개변수를 갖는 생성자를 정의해도 기본 생성자가 C# 컴파일러에 의해 자동 포함됨 매개변수를 받는 생성자의 경우 반드시 해당 코드 내에서 구조체의 모든 필드에 값을 할당 해야함 구조체는 Heap(힙)에 생성 struct와 class 차이 struct 값 형식(Value Type): struct는 값 형식으로서 스택에 할당됩니다. 값 형식은 변수에 실제 데이터를 저장하며, 메모리 공간을 더 효율적으로 사용할 수 있습..
IComparable 객체를 비교하기 위한 인터페이스 두 객체를 비교 ex) Student a CompareTo(Student b) a가 작은 경우 음수 반환 a 와 b 가 같은 경우0을 반환 a가 큰 경우 양수 반환 코드 더보기 namespace IComparableTest { internal class Exam1_2 { public void Run() { Student[] students = new Student[] { new Student("홍강", 87, 2), new Student("김영", 76, 1) }; Array.Sort(students); foreach (Student st in students) { Console.WriteLine(st); } } } class Student : ICo..
추상 클래스의 정의 하나 이상의 추상 메서드를 포함하는 클래스 Abstract Method : 선언부만 존재. 구현은 자식 클래스 Abstract Class : 인스턴스화될 수 없음 추상 클래스의 사용 목적 상속 받는 클래스들이 반드시 제공해야 하는 메서드 정의 코드 더보기 Figure namespace AbstractTest { abstract class Figure { abstract public Double Area(); // width, height 사각형 // 반지름 PhiR^2 } } Rectangle 추상 클래스 namespace AbstractTest { class Rectangle : Figure { int x1, y1; // x2 - x1 = width int x2, y2; // y2 ..
1. Enum.cs 열거형을 정의하는데 사용되는 특별한 형식 열거형: 명명된 상수의 집합을 나타내며, 일반적으로 관련 있는 값을 그룹화할 때 사용 namespace ConsoleApp1 { public enum Sex { 남성, 여성, 미확인 } public enum Grade { 학년_1 = 1, 학년_2 = 2, 학년_3 = 3 } public enum StudentClass { 반_1 = 1, 반_2 = 2 , 반_3 = 3, 반_4 = 4 } } 2. StudentMgr.cs namespace ConsoleApp1 { internal class StudentMgr { public void Run() { Student st = RegistStudent(); st.PrintMe(); } private..