티스토리 뷰

Development/Java

다형성(Polymorphism)

김드랍 2017. 6. 8. 03:30


1) 다형성 이란?

- 하나의 메소드나 클래스가 있을 때 이것들이 다양한 방법으로 동작하는 것을 의미한다

- 같은 모양의 코드가 다른 행위를 하는 것

- 대표적으로 오버로딩과 오버라이딩이 있다


2) 오버로딩(Overloading)

- 하나의 클래스에서 같은 이름의 메소드를 여러개 가지면서 매개변수 유형과 개수가 다르도록 하는 기술


클래스 MethodOverloading은 두개의 메소드 a()를 가지고있다

 같은 이름이지만 서로다른 동작 방법을 가지고 있기 때문에 오버로딩은 다형성의 한 예라고 할 수 있다



3) 오버라이딩(Overriding)

- 상위 클래스가 가지고 있는 메서드를 하위클래스가 같은 이름 같은 반환값으로 새로운 로직을 재정의 해서 사용한다



 


1)클래스 D의 데이터 타입을 C로 인스턴스화 했을 때 클래스 D의 메소드 d()는 마치 존재하지 않는것처럼 실행되지 않았다

: 클래스 D가 클래스 C화 되었다

2)클래스 D의 데이터 타입을 클래스 C로 해서 인스턴스화 했을 때 클래스 D의 메소드 c()를 실행하면 클래스 C에서 정의된 메소드가 아니라 클래스 D에서 정의된 메소드가 실행되었다 

: 클래스 D의 기본적인 성질은 그대로 간직하고 있다

'Development > Java' 카테고리의 다른 글

예외처리(Exception)  (0) 2017.08.24
컬렉션 프레임워크(Collection Framework) 란?  (0) 2017.08.08
JVM 메모리 구조 와 가비지 컬렉션(Garbage Collection)  (0) 2017.08.02
Static이란?  (0) 2017.08.02
JSP란?  (0) 2017.08.01
댓글