본문 바로가기
알아두면 좋은것들

02.13 (TIL)

by 오랑이귀엽다 2024. 2. 13.
  1. 상속(Inheritance)과 프로젝트 적용 예
  • 상속이란: 상속은 객체지향 프로그래밍에서 한 클래스(부모 클래스)의 속성과 메소드를 다른 클래스(자식 클래스)가 물려받는 메커니즘입니다. 이를 통해 코드 재사용성을 높이고, 유지보수성을 개선하며, 계층적인 클래스 구조를 구성할 수 있습니다.
  • 프로젝트 적용 예: 예를 들어, 게임 개발 프로젝트에서 여러 유형의 캐릭터(예: 전사, 마법사, 궁수)가 공통적인 속성(체력, 마나, 위치 등)과 행동(이동하기, 공격하기)을 가지고 있다고 가정. 이 경우, '캐릭터'라는 기본 클래스를 정의하고, 이를 상속받아 각 캐릭터 유형별로 특화된 클래스(예: '전사', '마법사', '궁수')를 구현할 수 있습니다. 이렇게 함으로써 공통적인 코드를 재사용하고 각 캐릭터 유형의 특성을 효과적으로 확장할 수 있습니다.
  1. 오버로딩(Overloading)과 오버라이딩(Overriding)의 차이점
  • 오버로딩(Overloading): 같은 이름을 가진 메소드를 매개변수의 유형이나 개수가 다르게 하여 여러 번 정의하는 기법입니다. 오버로딩을 사용하면 같은 작업을 수행하지만, 다른 입력을 받는 메소드를 여러 개 생성할 수 있습니다. 오버로딩은 주로 메소드 내에서 구현되며, 컴파일 시간에 결정됩니다.
  • 오버라이딩(Overriding): 상속 관계에 있는 부모 클래스에서 정의된 메소드를 자식 클래스에서 재정의하는 기법입니다. 오버라이딩을 통해 자식 클래스는 부모 클래스의 메소드와 동일한 시그니처(이름, 매개변수)를 가지면서도 다른 동작을 구현할 수 있습니다. 오버라이딩은 런타임에 결정됩니다.
  • 차이점: 오버로딩은 같은 메소드 이름에 대해 매개변수의 타입이나 개수를 다르게 하는 것이며, 컴파일 시간에 처리됩니다. 반면, 오버라이딩은 상속받은 메소드를 자식 클래스에서 재정의하는 것이며, 런타임에 처리됩니다. 오버로딩은 메소드의 다형성을 제공하는 반면, 오버라이딩은 상속받은 메소드의 행동을 변경하고자 할 때 사용됩니다.

'알아두면 좋은것들' 카테고리의 다른 글

02.19 (TIL)  (0) 2024.02.19
02.15 (TIL)  (0) 2024.02.15
02.06 (TIL)  (1) 2024.02.06
02.05 (TIL)  (0) 2024.02.05
02.02 (TIL)  (0) 2024.02.02