기술면접 - 상속이란 무엇인지 프로젝트 내에 적용해 본 부분과 함께 예를 들어 설명해주세요.
작성자 정보
- 마스터 작성
- 작성일
본문
Q - 상속이란 무엇인지 프로젝트 내에 적용해 본 부분과 함께 예를 들어 설명해주세요.
A - 부모클래스의 속성과 메소드를 이어받을 수 있습니다.
[GPT]
상속(Inheritance)은 객체지향 프로그래밍의 핵심 개념 중 하나로, 한 클래스가 다른 클래스의 속성(properties)과 메소드(methods)를 이어받을 수 있게 하는 기능입니다. 이를 통해 코드의 재사용성을 높이고, 중복을 줄이며, 유지 보수성을 개선할 수 있습니다. 상속을 사용하면 기존 클래스를 수정하지 않고도 새로운 기능을 추가하거나 기존 기능을 변경할 수 있습니다.
상속의 주요 특징
- 재사용성: 이미 작성된 클래스의 코드를 다시 사용하여 새로운 클래스를 만들 수 있습니다.
- 확장성: 기존 클래스의 기능을 확장하여 새로운 기능을 추가할 수 있습니다.
- 다형성 지원: 상속을 통해 다형성을 구현할 수 있으며, 이는 프로그램의 유연성을 증가시킵니다.
상속 예시
예를 들어, '동물'이라는 기본 클래스가 있고, 이 클래스에는 '먹다', '자다'와 같은 메소드가 정의되어 있다고 가정해 봅시다. 이제 '동물' 클래스를 상속받아 '고양이' 클래스를 만들 수 있으며, '고양이'는 '동물'의 기능에 '야옹하다'라는 메소드를 추가할 수 있습니다.
python
class 동물:# 기본 클래스 또는 부모 클래스def 먹다(self):print("먹는 중")
def 자다(self):print("자는 중")
class 고양이(동물):# 파생 클래스 또는 자식 클래스def 야옹하다(self):print("야옹")
프로젝트 내 적용 예
웹 개발 프로젝트에서 '사용자'라는 기본 클래스가 있을 때, 이 클래스에는 사용자의 기본적인 속성(이름, 이메일 등)과 메소드(로그인, 로그아웃 등)가 정의되어 있습니다. 이제 이 '사용자' 클래스를 상속받아 '관리자' 클래스를 만들 수 있으며, '관리자'는 '사용자'의 기능에 추가로 '사용자 관리', '권한 설정'과 같은 메소드를 추가할 수 있습니다. 이를 통해 코드의 재사용성을 높이고, 관리자와 일반 사용자 간의 관계를 명확히 할 수 있습니다.
상속은 코드를 간결하게 유지하고, 객체 간의 관계를 명확히 할 수 있도록 도와주며, 프로그램의 확장성과 유지 보수성을 향상시키는 중요한 객체지향 프로그래밍 기법입니다.
관련자료
-
이전
-
다음