본문 바로가기

분류 전체보기252

다형성 자식과 부모 관계에 있는 클래스들이 있을 때 부모의 객체를 통해서 자식의 함수 실행 등여러 가지 연산을 처리하는 것이다. 이미 상속 받았음에도 불구하고 자식은 부모에게 다시 와서부모의 이름으로 일을 처리해 달라고 부탁하는 것이다. 그러나, 자식은 자신이 부모로부터 상속 받은 것들 외의 다른 메소드나 속성을 추가하였을 것이다. 부모는 자신이 상속해준 것들, 즉, 메소드나 속성 외에 자식이 직접 만들어낸 것들은 사용할 수 없다. 예) MovieTicket mTicket = new MovieTicket();// 자식의 객체 생성Ticket baseTicket = mTicket;// 부모의 객체 생성과 자식 객체의 대입baseTicket.issue();//부모의 이름으로 자식을 위해 issue(()라는 메소드를.. 2006. 1. 16.
enumerations public enum Coffee{mocha,flatwhite,cappucino,latte,espresso}; ..........Coffee whatCoffee;whatCoffee = Coffee.flatwhite;.... whatCoffee의 타입은 Coffee이기 때문에, enum에서 정의한 값만 올 수 있다. 그렇지 않은 경우, 오류메시지 출력 한 변수에 부적절한 값을 대입하는 프로그래머의 사소한 실수를 막을 수 있다 2006. 1. 14.
타입의 변환 / 값 타입과 참조 타입 타입의 변환 - 자동변환(implicit conversion), 수동변환(explicit conversion) 값 타입과 참조 타입-값 타입: 변수 값을 저장할 때 메모리에직접 저장하는 방식 예) structs, enums 등 생성과 초기화 int x;x=8;int y=9; -참조 타입: 참조 변수를 통해서 메모리의 저장위치 만을 기억하며 그 내용은 다른 곳에 저장(간접 저장 방식) 예) string, 클래스, 인터페이스, 위임 생성과 초기화DateTime timeNow;timeNow = new DateTime(1977,10,5,0,0,0,0); *new 라는 키워드를 사용하여 변수를 초기화 참조 타입은 값 타입과 달리 대입된 값을 기억하는 것이 아니라, 대입된 객체를 기억한다.즉, 객체의 위치를 비교하.. 2006. 1. 14.
함수의 중첩(Overloading) 함수의 중첩(Overloading) 같은 이름의 함수를 두 개 이상 만들어 사용.인수로 함수들을 구분.( 중첩함수들은 이름은 같지만 서로 다른 인수변수의 타입, 인수의 개수, 인수에 ref나 out키워드의 사용으로 함수들을 차별화) static void Main(string[] args) { printVar(3); printVar("호호"); } static void printVar(int x) { Console.WriteLine("숫자입니다"); Console.WriteLine("{0}",x); } static void printVar(string x) { Console.WriteLine("문자 입니다."); Console.WriteLine("{0}",x); } 2006. 1. 14.