다형성이란 하나의 객체가 여러가지 형상을 가질 수 있는 것을 말함
거기에는 오버로딩과 오버라이딩이 있는데 이의 차이점을 아는 것 또한 중요함
- 오버로딩
메소드의 이름은 같지만 인수를 받는 자료형과 개수를 달리하여 여러 기능을 정의 - 오버라이딩
상위 클래스에서 정의한 메소드와 이름은 같지만 메소드 안의 실행 코드를 달리하여 자식 클래스에서 재정의하여 사용
오버로딩
오버로딩을 이용하면 같은 이름의 함수를 여러 개 정의할 수 있고, 각 함수는 다른 매개변수 형식이나 개수를 가질 수 있음. 이를 통해 프로그래머는 동일한 작업을 수행하는 함수를 하나로 묶을 수 있음.
오버라이딩
도와줘 챗지피티
오버라이딩(Overriding)은 객체 지향 프로그래밍에서 상속 관계에 있는 클래스들 간에 발생하는 개념입니다.
상속이란, 부모 클래스로부터 특성(메서드나 속성)을 물려받아 새로운 클래스를 만드는 것을 의미합니다. 그리고 오버라이딩은 이렇게 상속받은 메서드를 자식 클래스에서 다시 정의하는 것을 말합니다.
간단히 말해서, 부모 클래스에서 정의된 메서드를 자식 클래스에서 같은 이름으로 다시 정의하면, 자식 클래스에서의 메서드가 부모 클래스의 메서드를 덮어씁니다. 이때, 부모 클래스의 메서드는 무시되고 자식 클래스에서 새로 정의된 메서드가 실행됩니다.
예를 들어, 동물 클래스가 있고 이를 상속받아 각각 고양이 클래스와 강아지 클래스를 만들었다고 가정해봅시다. 동물 클래스에는 소리를 내는 메서드가 있을 수 있습니다. 이때, 강아지 클래스와 고양이 클래스에서는 각각 자신의 울음소리를 나타내기 위해 동물 클래스에서 상속받은 소리를 내는 메서드를 재정의할 수 있습니다. 이것이 오버라이딩입니다.
이러한 오버라이딩을 통해 클래스 간의 유연한 상속 구조를 구현할 수 있고, 각 클래스마다 특정한 기능을 재정의하여 사용할 수 있습니다.
'정보처리기사 > 필기' 카테고리의 다른 글
필기 합격 후기 (1) | 2024.06.17 |
---|---|
필기 1과목 기출 오답노트 (0) | 2024.03.29 |
사용자 인터페이스(UI; User Interface) - ♩ (0) | 2024.03.17 |
UML(Unified Modeling Language) - ♪♩♫ (0) | 2024.03.17 |
요구사항 분석 - CASE / HIPO (0) | 2024.03.16 |