전체 글49 C# 정리 ) base this 명령어가 클래스 인스턴스 그 자체를 가리키는 것과 달리 base [예약어]는 [부모 클래스]를 명시적 으로 가리킬 때 사용한다. 이번에도 this와 마찬가지이다. 지그까지 사용한 부모 클래스의 멤버들은 base. 가 생략된 것이다. using System; namespace Project1 { class Test { protected void print() { Console.WriteLine("테스트"); } } class Test2 : Test { public void PRINT() { base.print(); base.print(); } } class Class1 { public static void Main(String[] args) { Test2 tst = new Test2(); tst... 2021. 12. 1. C# 정리 ) this 객체는 외부에서 자신을 식별할 수 있는 변수를 가진다. Book newBook = new Book(); 변수 book 은 마침표 를 사용해 객체의 맴버를 호출할 수 있다. int price = book.getPrice(); 클래스 내부에서 자신을 가리킬 수 있는 방법은 없을까? 이럴때 사용하는 것이 this. [예약어] 이다. 예약어 : 이미 프로그래밍 언어에서 문법적으로 사용하고 있어 [식별자] 로 사용할 수 없는 단어. 자기 자신을 클래스 내부에서 가리킬 수 있는 예약어. 상당히 난해한 문장이지만 예제 코드를 보면 바로 이해가 될 것이다. using System; namespace Project3 { class Book { private int price; public void setPrice(int.. 2021. 11. 30. C# 정리 ) System.Array object가 모든 타입의 조상인 것처럼 소스코드에 정의되는 배열은 모두 Array 타입을 조상으로 둔다. int[] intArray = new int[] { 0, 1, 2, 3, 4, 5 } 다음과 같이 배열을 정의한 경우, C# 컴파일러는 자동적으로 int[] 타입을 Array타입으로부터 상속받은 것으로 처리한다. 이로인해 배열 인스턴스(위의 코드에서는 intArray)는 Array 타입이 가진 모든 특징을 제공한다. 알아두면 유용하게 사용할 수 있는 일부 메서드를 보도록 한다. 멤버 타입 설명 Rank 인스턴스 프로퍼티 배열 인스턴스의 차원(dimension) 수를 반환한다. Length 인스턴스 프로퍼티 배열 인스턴스의 요소(element) 수를 반환한다. Sort 정적 메서드 배열 요소의 값을 .. 2021. 11. 29. C# 정리 ) GetHashCode GetHashCode 메서드는 특정 인스턴스를 고유하게 식별할 수 있는 4바이트 int 값을 반환한다. GethashCode와 Equals 메서드를 연계해서 사용할 수 있다. Equals 값이 True라면 같은 객체인것이고, 또한 그 객체를 식별하는 [고윳값] 또한 같아야 한다. 반면 Equals 반환값이 False라면, 객체는 같더라도 GetHashCode 의 반환값도 달라야 한다. 이 때문에 보통 Equlas 메서드를 하위 클래스에 [재정의]하면 GetHashCode까지 [재정의]한다. 이를 따르지 않으면 컴파일 경고가 발생한다. using System; namespace Project3 { class Test { // 테스트용 클래스 } class Class1 { public static void .. 2021. 11. 29. 이전 1 ··· 6 7 8 9 10 11 12 13 다음