본문 바로가기

Today I Learned

[TIL][C#] 24.05.02 클래스의 상속

클래스의 상속

스마트폰이라는 클래스가 있다고 가정하자, 스마트폰에는 크게 아이폰과 갤럭시가 있다. 아이폰과 갤럭시는 모두 스마트폰이지만 세부적인 부분에서 차이점이 존재한다. 이를 클래스와 상속을 통해 구분할 수 있다.

 

부모 클래스

Class SmartPhone
{
	string phoneName;
    string company;
    
    public virtual void PhonePW()
    {
    	// 기기 암호
    }
}

 

위 코드와 같이 Smartphone 클래스를 작성한다. 앞으로 작성할 Iphone, GalaxyPhone 클래스의 부모 클래스이다.

PhonePW() 함수를 virtual을 통해 선언하였는데, 이 함수는 자식 클래스에서 override 하여 재선언하면 된다.

class GalaxyPhone : SmartPhone
{
	...
    
    public override void PhonePW()
    {
    	// 재선언된 함수
    }
}

 

위와 같이 함수를 override 하여 사용하면 SmartPhone 클래스의 자식 클래스인 GalaxyPhone 클래스의 PhonePW() 를 사용하여 GalaxyPhone 클래스만의 독자적인 로직을 갖는 함수로 만들 수 있다. 클래스 간 상속의 개념을 이해하고 코드를 작성하면 더 정돈된 코딩을 할 수 있다고 느꼈다.

 

24.05.02 Today I Learned