-
C# 프로그래밍의 기초 : 상속성2024년 03월 02일
- 유니얼
-
작성자
-
2024.03.02.:25
728x90상속성(Inheritance)은 객체 지향 프로그래밍(OOP)에서 코드 재사용, 계층적 분류, 다형성 구현의 핵심 메커니즘입니다. 클래스 간의 상속을 통해 한 클래스(부모 클래스 또는 슈퍼 클래스)의 속성과 메서드를 다른 클래스(자식 클래스 또는 서브 클래스)가 상속받아 사용할 수 있습니다. 이로써, 프로그램의 구조를 명확하게 하고, 유지 보수를 용이하게 하며, 코드의 재사용성을 높일 수 있습니다.
상속성의 특징
코드 재사용
상속을 통해 기존 클래스의 기능을 확장하거나 수정할 필요 없이 새로운 클래스에서 기존 클래스의 기능을 사용할 수 있습니다. 이는 코드 중복을 줄이고 재사용성을 높이는 데 큰 장점을 제공합니다.
계층적 분류
상속을 사용하면 관련 있는 클래스들을 계층적으로 분류하여 관리할 수 있습니다. 예를 들어, 'Vehicle'이라는 클래스 아래에 'Car', 'Truck', 'Bike' 등을 두어 각각의 특성을 추가하면서도 공통적인 속성이나 메서드를 'Vehicle' 클래스에서 관리할 수 있습니다.
다형성 구현
상속은 다형성을 구현하는 데 중요한 역할을 합니다. 자식 클래스는 부모 클래스로부터 상속받은 메서드를 오버라이드(재정의)하여 자신만의 독특한 행위를 정의할 수 있습니다. 이를 통해 다양한 형태의 객체를 동일한 인터페이스로 다룰 수 있게 됩니다.
예제 코드
using System; class Program { // Vehicle 클래스: 모든 차량의 기본이 되는 클래스 class Vehicle { public string brand = "Ford"; // 차량 브랜드 public void honk() // 경적 소리 메서드 { Console.WriteLine("Tuut, tuut!"); //출력 : Tuut, tuut! } } // Car 클래스: Vehicle 클래스를 상속받는 서브 클래스 class Car : Vehicle { public string modelName = "Mustang"; // Car 클래스만의 속성 } static void Main(string[] args) { Car myCar = new Car(); // Car 인스턴스 생성 myCar.honk(); // 부모 클래스의 메서드 호출 Console.WriteLine(myCar.brand + " " + myCar.modelName); // 출력: Ford Mustang } }
이 예제에서는 Vehicle 클래스를 상속받은 Car 클래스를 통해 상속성의 개념을 실습합니다. Car 클래스는 Vehicle 클래스의 모든 속성과 메서드(brand, honk())를 상속받으면서, 자신만의 속성인 modelName을 추가하여 사용합니다.
결론
상속성은 OOP에서 코드의 재사용성을 높이고, 프로그램의 구조를 명확하게 하며, 유지 보수를 용이하게 하는 중요한 개념입니다. 상속을 통해 개발자는 보다 효율적으로 코드를 작성하고, 프로그램의 다양성과 유연성을 향상시킬 수 있습니다.
반응형다음글이전글이전 글이 없습니다.댓글