JAVA 오버로딩 과 오버라이딩는 단어 느낌도 비슷하고 가끔 헷갈리는개념중 하나인데요 어떤 차이가
있는지 궁금하네요그리고 각각 어떤 특징을 가지고 있는지도 알고 싶습니다.
혹시 햄스터와 햄버거의 차이를 묻는다면 어떻게 답하실 건가요?오버로딩과 오버라이딩은 이름만 비슷하고, 완전히 다른 것입니다. 전혀 안 비슷합니다.
오버로딩은 이름만 똑같은 메서드가 여러개가 있는 것이고,
오버라이딩은 다형성을 지원하는 방법으로, 자식 클래스가 부모 클래스를 상속하면서 부모 클래스의 메서드를 덮어쓰는 것입니다.
오버로딩은 하나의 클래스에 같은 이름의 메서드를 여러개 정의 하는것이며,
오버라이딩은 조상클래스부터 상속 받아서 상속에 맞게 변경하는것입니다.
오버로딩은
일딴 메소드 이름이 같아야됩니다 하지만 매개변수 및 개수 나 타입이 달라야 합니다.
오버라이딩은
부모클래스 메소드 이름이 같아야되며 부모클래스의 메소드와 매개변수, 리턴타입이 같아야합니다.