본문 바로가기
Others/기본 개념들

오버로딩과 오버라이딩

by supdev 2017. 6. 16.


1. 오버로딩(overloading)


한 클래스 안에 같은 이름의 메서드를 여러 개 정의하는 것을 메서드 오버로딩이라고 한다.

오버로딩을 통해 같은 기능을 하는 메서드의 이름을 통일함으로써 한 눈에 알아보기 쉽고 메서드 이름을 절약할 수 있다.


이와 같이 메서드 오버로딩을 위해서는

(1)메서드의 이름이 같아야하고 (2)매개변수의 개수 또는 타입이 달라야하는 조건이 있다.


매개변수에 따라 10가지가 구현되어 있는 println() 메서드는 메서드 오버로딩의 좋은 예이다.



2. 오버라이딩(overriding)


조상 클래스로부터 상속받은 메서드의 내용을 변경하 것을 메서드 오버라이딩이라고 한다.

상속을 통해 구현하려는 경우 기존의 메서드가 아닌 확장된 기능이 요구되는 경우가 많다. 이 경우 오버라이딩 메서드를 활용할 수 있다.


오버라이딩을 위해서는 조상클래스의 메서드와 오버라이딩하려는 메서드의

(1)이름, (2)매개변수, (3)반환타입이 같아야하는 조건이 있다.


최상위 클래스인 Object 클래스의 toString() 메서드가 메서드 오버라이딩의 대표적인 예이다.

(모든 클래스는 기본적으로 Object 클래스를 상속받는다)



'Others > 기본 개념들' 카테고리의 다른 글

JVM의 메모리구조  (0) 2017.06.16
객체(Object)와 인스턴스(Instance)  (0) 2017.06.16
Java는 call-by-reference 방식을 지원하는가?  (0) 2017.06.16