클래스에서 기반클래스가 있고 파생클래스가 있다

기반클래스를 슈퍼클래스

파생클래스를 서브클래스라고도 한다 



기본클래스,파생클래스


부모클래스,자식클래스


슈퍼클래스,서브클래스


설계를 해서 기본클래스 설계로 조금더 단순화 효율성을 높인다


사람-> 여자-> 할머니

사람클래스는 여자클래스의 부모클래스

할머니클래스는 여자클랫의 자식클래스



도그, 자식클래스의 부모클래스 



Virtual 붙으면 메서드에 가상메서드가 나온다.


가상메서드란 자식클래스에 있는 메서드를 호출한는 가상메서드다


makesound라는 메서드가 자식한테 잇으면 그걸 호출한다.



상속을 받는다는것은


클래스: 상속받을클래스(부모클래스)


Protect 접근제한자


자식클래스는 부모클래스에 엑세스가 가능하며 

Private 필드가 있다면 상속받은 자식클래스에서도 엑세스 하지못한다.


하지만 public 이나 protected라는 접근제한자는 접근가능한다.



부모클래스의 메서드 생성자에 전부 접근 가능하다.


부모클래스의 생성자 를호출할때 부모클래스를 호출할때 방법은


자식클래스의 생성자 다음에 : 찍고 base

Ex) : base() 

라고 하며  base() 부모클래스를 나타냄


:base(petId,name,color,gender) 


자식메서드를 재정의할때는 override 붙여준다.


상속을 왜하나 클래스가 많을수록 

관리차원?


부모클래스 변수에 자식클래스를 대입할수있다.



Is 연산자를 쓰면 bool 형을 리턴하고 값을 불형으로 나온다


Pet is cat (ex)

if(pet is cat)

{

부모클래스가 어떤건지 알수잇다.


만약에 맞다면 부모클래스를 자식클래스로 치환할때

  (pet as cat).scratch();


}


상속의 이점은 복잡한 프로그램을 짜봐야 알수있다.










+ Recent posts