본문으로 바로가기

overloading과 overriding

category Java언어 2018. 8. 20. 14:59

Java를 처음 학습하는 입문자들이 많이들 헷갈려하는 개념이 오버 로딩과 오버 라이딩일 것이다. 그래서 이번 글에서는 오버 로딩과 오버 라이딩의  개념과 차이점 그리고 용도에 대해 기술하도록 하겠다.


오버 로딩

오버 로딩이란 다형성을 대표하는 기능으로서 매개 변수의 갯수 또는 타입을 달리하여 같은 이름의 메소드를 여러개 정의하여 사용하는 것이다. 하나의 메소드 명만 알면 다양한 기능을 사용할 수 있기 때문에 편리하다. 가끔 리턴 타입을 달리하는 건 해당되지 않는지 헷갈리는 분들이 있는데, 반드시 매개변수의 타입이나 갯수가 달라한다. 보통의 메소드에도 사용되지만, 생성자 메소드에 더 자주 사용된다.

 

1. 하나의 메소드 명으로 여러 메소드를 사용하는 것. =>하나의 메소드 명만 알면 다양한 기능 사용 가능(다형성)

2. 조건

1) 매개 변수의 타입 또는 갯수가 다를경우만 사용가능

2) 리턴 타입만 다를경우 -> 사용불가

3. 생성자 메소드에 많이사용됨

 

*다형성 : 하나의 클래스나 메소드가 다양한 방식으로 동작하는 것.

 


오버 라이딩

오버 라이딩이란 클래스나 인터페이스를 상속받아 정의하는것을 말한다. 이 경우 부모 클래스와 자식 클래스에 각각 같은 이름의 메소드가 존재하게 되는데 super class data type로 여러 sub class data type의 객체에 접근할 수 있다.(다형성)

'Java언어' 카테고리의 다른 글

증감연산자의 선위증가 후위증가  (0) 2018.08.21
String문제  (0) 2018.08.21
this 키워드  (7) 2018.08.20
접근 지정자  (0) 2018.08.20
추상 클래스와 인터페이스의 차이  (0) 2018.08.16