반응형

[광고 누르면 오늘의 행운 상승!!]

Polymorphism (다형성) 같은 타입 또는 같은 기능의 호출로 다양한 효과를 가져오는 것. ex) 오버라이딩, 오버로딩

폴리몰피즘의 5가지 방식

1. Definition

1. 정의 // 클래스- 클래스 Person p = new student()int A - char

2. Array

2. 배열 // person[0] = student, person[1] = teacher

3. Parameter

3. 매개변수 // 메소드1(student) → 메소드1(Person p)

4. Return

4. 리턴 // 리턴타입 Person → return student

5. Override

5. 오버라이드★ //p.PrintAll(); → 오버라이딩 되어있는 자식함수 호출
단, super.메소드 라고 명시하면 부모 메소드 또한 호출. 메소드 이름과
파라메타 리스트가 반드시 같아야 한다.(생성자 오버로딩처럼) 부모가
public이면 반드시 public이어야 하며 리턴타입 또한 같거나 하위여야한다.

thorws Exception이 붙어있다면 자식또한 붙어있어야 한다. 까다로운 규칙을
모두 갖추어야 오버라이드가 실행된다.

@Override 를 명시하면 컴파일러에게 이 함수는 오버라이딩 된 메소드 라는 것을 알려줄 수 있다.

오버라이딩 된 메소드는 @Override를 붙이는 것을 원칙으로 한다.
(안한다고 해서 에러는 안나지만 실수를 방지하기 위하여)

C에서의 폴리몰피즘

컴파일과 링크를 거쳐 stdio.c에 구현되어있는 함수를 오버라이딩 하여
printf를 사용 할 수 있게 된다. 우리는 c에서 다 했었다!

 

반응형

'3. 자바 > 1. 자바의 특징' 카테고리의 다른 글

자바의 특징  (0) 2020.03.02
변수, 구조체, 클래스  (0) 2020.03.02
메모리 호출 순서  (0) 2020.03.02
상속(Inheritance)  (0) 2020.03.02
캡슐화(Encapsulation)  (0) 2020.03.02

+ Recent posts