ASP/ADO.Net C# 실무 과정 자료] 생성자 상속하기






ASP/ADO.Net C# 실무 과정 자료] 생성자 상속하기


실무개발자를위한 실무교육 전문교육센터학원

www.oraclejava.co.kr에 오시면 보다 다양한 강좌를 보실 수 있습니다.


생성자 상속하기


■ 서브 클래스에서 슈퍼 클래스의 생성자를 명시적으로 호출할 수 있는데, 그 형태는 다음과 같다. (case 2)

생성자 : base(매개 변수);



■ 만약, 서브 클래스에서 슈퍼 클래스의 생성자를 호출하는 문장이 없으면, 자동으로 슈퍼 클래스의 default생성자가 호출된다. super()는 서브 클래스 생성자 내부 문장에서 첫 번째 문장으로 나타나야 한다. (예제의 case 1)



ASP/ADO.Net C# 실무 과정 자료] 상속에 대한 추가 사항들






ASP/ADO.Net C# 실무 과정 자료] 상속에 대한 추가 사항들

실무개발자를위한 실무교육 전문교육센터학원

www.oraclejava.co.kr에 오시면 보다 다양한 강좌를 보실 수 있습니다.


상속에 대한 추가 사항들


■ C#에서는 C++와 달리 다중상속을 허용하지 않는다. 즉, 하나의 하위 클래스가 동시에 여러 상위 클래스로 부터 상속을 받는 case는 허용하지 않는다는 말이다.

  - Error propagation problem

  - Name conflict problem


■ 생성자는 상속되지 않는다. 다만 슈퍼클래스의 기본 생성자가 묵시적으로 수행될 뿐이다.



ASP/ADO.Net C# 실무 과정 자료] 상속되지 않는 것 – 같은 이름의 멤버







ASP/ADO.Net C# 실무 과정 자료] 상속되지 않는 것 – 같은 이름의 멤버

실무개발자를위한 실무교육 전문교육센터학원

www.oraclejava.co.kr에 오시면 보다 다양한 강좌를 보실 수 있습니다.


상속되지 않는 것 – 같은 이름의 멤버


■ 하위 클래스는 만약 자신의 멤버를 상위 클래스의 멤버와 같은 이름을 이용하여 선언 하였다면, 같은 이름을 지닌 상위 클래스의 멤버는 상속 받지 않는다.



■ 같은 이름의 멤버 변수의 경우

  - 하위 클래스의 멤버 변수가 상위 클래스의 멤버 변수를 숨기게 된다.



■ 같은 이름의 멤버 메소드의 경우

  - 하위 클래스의 멤버 메소드는 상위 클래스의 멤버 메소드를 override한다.



ASP/ADO.Net C# 실무 과정 자료] 상속되는 것 – public과 protected







ASP/ADO.Net C# 실무 과정 자료] 상속되는 것 – public과 protected

실무개발자를위한 실무교육 전문교육센터학원

www.oraclejava.co.kr에 오시면 보다 다양한 강좌를 보실 수 있습니다.



상속되는 것 – public과 protected


■ 하위 클래스는 상위 클래스에서 public으로 선언된 것과 protected로 선언된 것을 상속받는다. 각각 public과 protected로 상속된다. (★당연히 private으로 선언된 것은 상속받을 수 없다.)


■ Review

- private : 절대 상속될 수 없다.


- public : 어느 곳에서든지 상속될 수 있다. 접근도 허용한다.


- protected : 상속은 된다. 상속 받은 클래스에 대해서는 접근을 허용한다.



ASP/ADO.Net C# 실무 과정 자료] 상위 / 하위 Class






ASP/ADO.Net C# 실무 과정 자료] 상위 / 하위 Class


실무개발자를위한 실무교육 전문교육센터학원

www.oraclejava.co.kr에 오시면 보다 다양한 강좌를 보실 수 있습니다.


상위 / 하위 Class


예제) 상위 / 하위 Class


설명)

■ 클래스 Student는 클래스 People로 부터 필드와 메소드들을 상속받는다. (앞의 예제에서는 모든 필드, 메소드를 상속받는다.)


■ 그리고 class Student에서 필드 studentNumber와 메소드 ShowSN()를 새로이 추가한 것이다. 


■ 따라서 Student형의 객체는 필드 name, age, studentNumber를 가지며, ShowNameAge()와 ShowSN()를 호출할 수 있다.



ASP/ADO.Net C# 실무 과정 자료] 상속과 관련된 용어 설명






ASP/ADO.Net C# 실무 과정 자료] 상속과 관련된 용어 설명

실무개발자를위한 실무교육 전문교육센터학원

www.oraclejava.co.kr에 오시면 보다 다양한 강좌를 보실 수 있습니다.


상속과 관련된 용어 설명


ASP/ADO.Net C# 실무 과정 자료] 상속(Inheritance)의 개념 & 사용






ASP/ADO.Net C# 실무 과정 자료] 상속(Inheritance)의 개념 & 사용


실무개발자를위한 실무교육 전문교육센터학원

www.oraclejava.co.kr에 오시면 보다 다양한 강좌를 보실 수 있습니다.


상속(Inheritance)의 개념 & 사용 


상속(Inheritance)의 개념 



상속(Inheritance)의 사용

■ 상속이란, 부모 클래스(parent class)의 멤버변수와 멤버 메소드를 제한적으로 물려받는 것을 의미한다.


■ 자손 클래스는 부모로 부터 상속받은 속성외에 자신만의 속성을 지닐 수 있다.


■ 기존에 구축해 놓은 클래스들을 재사용 해서 그 클래스를 확장한다.


 재사용을 하지 않는다면 기존 클래스에 정의된 것을 자식 클래스에서도 재작성해야 할 것이다.



ASP/ADO.Net C# 실무 과정 자료] 특수 생성자







ASP/ADO.Net C# 실무 과정 자료] 특수 생성자

실무개발자를위한 실무교육 전문교육센터학원

www.oraclejava.co.kr에 오시면 보다 다양한 강좌를 보실 수 있습니다.


특수 생성자


■ Private 생성자

  - 생성자에 private 접근 제한자를 붙인면, 인스턴스를 생성할 수 없게 만든다.

  - 수학 함수 처럼 인스턴스가 없이 메소드만 사용하고 싶은 경우 사용한다.



■ Static 생성자

 - 인스턴스 만들지 않고 class를 직접 사용하는 경우의 초기화 메소드



+ Recent posts