□ 메소드와 다형성
다형성이란 하나의 메소드나 클래스가 있을 때 이것들이 다양한 방법으로 동작하는 것을 의미한다.
같은 메소드 명 'a'지만 매개변수 타입이 int와 String차이로
아래 o.a(1);와 o.a("one");가 오류없이 작동한다.
□ 클래스와 다형성
위 코드에서 obj.y();은 오류가 발생한다.
그이유는 A obj = new B(); 에서 클래스 B를 new를 통해 인스턴스화 하여
변수 obj에 담을 때 타입을 클래스 A로 정의했기 때문이다.
클래스 A에는 메소드 y가 정의되지 않았기 때문에 오류가 발생한다.
그러나 하위 클래스에서 메소드를 오버라이딩 하게되면 해당 메소드가 호출이된다.
위 예제에서 System.out.println(obj.x()); , System.out.println(obj2.x()); 두개의 결과값은
오버라이딩된 "B.x"와 "B2.x"를 출력하게된다.
□ 인터페이스와 다형성
출처 : 생활코딩 유튜브 :
https://www.youtube.com/watch?v=WijVClKt5Z8&list=PLuHgQVnccGMCeAy-2-llhw3nWoQKUvQck&index=115
'Java & Spring > Java' 카테고리의 다른 글
생활코딩 - Java(Object 클래스) (0) | 2024.04.16 |
---|---|
생활코딩 - Java(예외 Exception) (0) | 2024.04.15 |
생활코딩 - Java(abstract,final,interface) (0) | 2024.04.03 |
생활코딩 - Java(접근 제어자) (0) | 2024.04.02 |
생활코딩 - Java(유효범위) (0) | 2024.03.26 |