///////
Search

다형성, 메모리

작성 날짜
2022/09/26 06:17
송민지

다형성

1.
오버로딩
2.
오버라이딩

1. 오버로딩(Overloading)

같은 이름으로 자바 클래스 내에서 메소드를 여러 개 생성
오버로딩 조건 : 메소드 이름 동일, 매개변수 개수와 타입이 달라야함,
리턴값만 다른건 오버로딩 x
오버로딩 장점 - 메소드 이름 절약, 같은 기능을 하는 메소드를 하나의 이름으로 사용가능
오버로딩 단점 - 요구사항 변경 시 모든 메소드를 수정해야함

2. 오버라이딩(Overriding)

부모클래스로부터 상속받은 메소드를 자식 클래스에서 재정의
오버라이딩 조건 : 오버라이딩하고자 하는 메소드의 이름, 매개변수, 리턴 값이 모두 같아야 한다.
public class OverridingTest { public static void main(String[] args) { Person person = new Person(); Child child = new Child(); Senior senior = new Senior(); person.cry(); child.cry(); senior.cry(); } } class Person { void cry() { System.out.println("부모 클래스"); } } class Child extends Person { @Override protected void cry() { System.out.println("자식 클래스(Child)가 부모 클래스(Person)의 cry 메소드 오버라이딩"); } } class Senior extends Person { @Override public void cry() { System.out.println("자식 클래스(Senior)가 부모 클래스(Person)의 cry 메소드 오버라이딩"); } }
Java
복사