-
[JAVA] 오버로딩, 오버라이딩LANGUAGE/JAVA 2014. 4. 14. 17:50
오버로딩(다형성 구현)
하나의 클래스에 같은 이름의 메소드들을 여러 가지 형태로 정의하는 것
메소드 선언부의 반환형과 메소드 이름은 반드시 같아야한다.
매게변수의 개수나 데이터형이 반드시 달라야 한다.
장점 1 : 오버로딩된 메소드는 편리하다.
오버로딩된 메소드들이 있다면 형변환 해서 사용하지 않아도 된다.
장점 2 : 클래스에서 메소드 이름을 절약할 수 있다.
오버로딩이 없다면 같은 기능을 하더라도 메소드 이름을 중복해서 선언할 수 없으므로 메소드 이름이 복잡해질 수 밖에 없다.
--------------------------------
오버라이딩
상속 관계에 있는 자식 클래스에서 상복받은 자원을 재정의하는 것
오버라이딩은 자식 클래스에서만 적용 가능하다.
오버라이딩하고자 하는 메소드의 선언부를 그대로 사용해야 한다. 단 접근 제어자와 에외 처리는 제외한다.
오버로딩
오버라이딩
적용범위
하나의 클래스 내부
상속 관계에 있는 자식 클래스의 내부
포인트
loading 즉, 메소드를 층층이 쌓는다라는 의미에 주목
riding 즉, 기존에 있는 메소드에 올라탄다는 의미
목적
메소드의 효율성을 증가하기 위한 목적으로 사용
메소드를 재정의함으로써 여러 형태의 기능을 구현하는 목적으로 사용
공통점
클래스의 요소 중 메소드에 적용되는 의미들
객체 지향 프로그래밍의 다형성을 구현하는 기법들
'LANGUAGE > JAVA' 카테고리의 다른 글
session 삭제 시점시 처리. (0) 2014.05.27 [JAVA] JVM 메모리 구조 (0) 2014.04.24 [JAVA] 상속 (0) 2014.04.14 [JAVA] 객체, 클래스, 인스턴스(작성중) (0) 2014.04.10 [JAVA] 추상화, 캡슐화, 다형성, 상속1 (0) 2014.04.10