생활코딩 - Java(다형성)

2024. 4. 4. 15:41·Java & Spring/Java

□ 메소드와 다형성

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

 같은 메소드 명 '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 클래스)  (1) 2024.04.16
생활코딩 - Java(예외 Exception)  (1) 2024.04.15
생활코딩 - Java(abstract,final,interface)  (0) 2024.04.03
생활코딩 - Java(접근 제어자)  (0) 2024.04.02
생활코딩 - Java(유효범위)  (1) 2024.03.26
'Java & Spring/Java' 카테고리의 다른 글
  • 생활코딩 - Java(Object 클래스)
  • 생활코딩 - Java(예외 Exception)
  • 생활코딩 - Java(abstract,final,interface)
  • 생활코딩 - Java(접근 제어자)
DJ.Kang
DJ.Kang
백엔드 개발 기록 블로그
  • DJ.Kang
    DJ Hello World
    DJ.Kang
  • 전체
    오늘
    어제
    • 분류 전체보기 N
      • 이론공부 N
        • 개념
        • 정보처리기사 필기
        • 정보처리기사 실기 기출 N
        • 네트워크관리사 2급
        • SQLD
      • 시스템설계
      • Java & Spring
        • TIL
        • 트러블슈팅
        • 고도화
        • 알고리즘
        • 코딩테스트
        • Java
        • Spring
        • Thymeleaf
      • 프로젝트
        • coin-trading
        • 트러블슈팅
      • Docker
      • 웹
      • git & github
  • 블로그 메뉴

    • 홈
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    java 제어자
    java 유클리드 호제법
    데이터 크기
    java
    Java 생성자
    java기초
    데이터 타입
    java arrays.copyofrnage()
    개발로드맵
    프로그래머스 java 기초 트레이닝
    java 멤버
    java super
    java 세수의합
    자료구조
    프로그래머스 java 기초트레이닝
    Java this
    java enhance switch
    java two-pointer
    java 메서드
    java 에라토스테네스의 체
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.1
DJ.Kang
생활코딩 - Java(다형성)
상단으로

티스토리툴바