목록전체 글 (240)
S_pot

interface Phone { void Call(); void Recv(); } // 자동으로 코드생성 가능 class Sami : Phone // interface Phone을 상속받으면 call()과 Recv()를 모두 사용하지 않으면 실행되지 않는다. // 실수로 기능을 빼먹는 것을 방지한다.(인터페이스의 장점) { public void Call() { Console.WriteLine("나 사미전화긴데 전화 검"); } public void Recv() { Console.WriteLine("나 사미전화긴데 전화 받음"); } } class Hong : Phone // 자동으로 코드생성 가능 { public void Call() { Console.WriteLine("나 홍전화긴데 전화 검"); } ..
class Program { class Parent { } class Child : Parent, IDisposable, IComparable // 한개의 클래스와 두 개의 인터페이스를 상속받습니다. { public int CompareTo(object obj) // IComparable 인터페이스 구현 { throw new NotImplementedException(); } public void Dispose() // IDispose 인터페이스 구현 { throw new NotImplementedException(); } } static void Main(string[] args) { } }
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; abstract class Smart { int iNum1; int iNum2 { set { } get { return 100; } } int iNum3 { get; set; } void test1() { } public abstract void test2(); } interface IBasic2 { // int iNum; // 인터페이스는 안에 인스턴스 변수를 선언할 수 없다. // int iNum2{set{ } get{ }} // 불가: 세부설정 사용안됨 // void test2() { } // ..
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; //interface namespace Hong { interface ISmart { } } namespace Kim { interface ISmart { } } using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using Hong; using Kim; // Program.cs namespace Busan { class Program { stat..
namespace _210604_004 { // iComparable 인터페이스 // 정렬하기 위해서는 IComparable을 상속받아야 하고 // CompareTo메서드를 생성해주어야 한다. class Program { class Product : IComparable // 자동으로 메서드 생성가능 { public string Name { get; set; } public int Price { get; set; } // Name으로 비교정렬 public int CompareTo(object tttt) // 비교메서드를 입력해주어야 한다. { return this.Name.CompareTo(((Product)tttt).Name); // 이름순으로 정렬 } // Price로 비교정렬 /* public in..

private void 열기ToolStripMenuItem_Click(object sender, EventArgs e) { MessageBox.Show("열기", "파일 하부 메뉴"); }

class SmartInt { public int[] iNum; public SmartInt(int Len) { iNum = new int[Len]; for (int i = 0; i < iNum.Length; i++) { iNum[i] = 100 + i; } } public int this[int i] { get { return iNum[i]; } set { iNum[i] = value; } } } class Program { static void Main(string[] args) { SmartInt I = new SmartInt(5); Console.WriteLine(I.iNum[0]); // 100 Console.WriteLine(I.iNum[1]); // 101 Console.WriteLine(I..

namespace _210603_010 { abstract class Musician { public abstract void greet(); } class Singer : Musician { public override void greet() { Console.WriteLine("안녕하세요 저는 싱어입니다."); } } class Drum : Musician { public override void greet() { Console.WriteLine("안녕하세요 저는 드러머입니다."); } } class Bell : Musician { public override void greet() { Console.WriteLine("안녕하세요 저는 벨 연주자입니다."); } } class Piano : Music..

namespace _210603_009 { abstract class Human { abstract public void Talk(); } abstract class Kor : Human { public override void Talk() { Console.WriteLine("안녕하세요..."); } } abstract class Jpn : Human { public override void Talk() { Console.WriteLine("안녕하시므니까..."); } } class Hong : Kor { } class Dama : Jpn { } class Program { static void Main(string[] args) { Hong aHong = new Hong(); Dama aDama = ..
자식메서드에서 추상클래스를 반드시 구현하도록 하기 위해서 사용한다. namespace _210603_008 { abstract class Smart // 추상 메소드를 가진 클래스는 추상클래스가 됨. { abstract public void Test1(); // 추상 메서드 public abstract void Test2(); // 추상 메서드 // 1. abstract가 붙는다. // 2. 본문(Body)이 없다. // 3. private으로 선언할 수 없다. } abstract class Child1 : Smart { // 추상 메서드를 가진 클래스를 상속 받으면 추상클래스가 된다. } class Child2 : Smart { // 부모의 추상 메서드를 모두 구현하면 일반 클래스가 된다. public..