[Java] 오버라이딩(OverRiding)

2023. 12. 20. 01:35·Java

오버라이딩(OverRiding)


: 상속 받은 부모의 메서드를 자기 자신에 맞게 내용을 재정의,변경 하는 것.

public class Parent {
	int x = 10;
    int y = 20;
    
	public void play(){
		retunr x+ ":" +y;
	}
}

public class Child extends Parent{
	int z = 30;
    
    public void play(){ //오버라이딩 {}구현부만 수정가능
		retunr x+ ":" +y+ ":" +z;
	}
}

오버라이딩 조건


1. 선언부(반환타입, 메서드이름, 매개변수) 조상메서드와 일치

2. 접근제어자 조상클래스 메서드보다 좁은 범위로 변경x

3. 예외는 조상클래스의 매서드보다 많이 선언할 수 x

접근제어자,예외 나중자세히..

 

오버로딩 vs 오버라이딩


▸ 오버로딩 : 이름 같은 기존에 없는 새로운 메서드 정의 (New)

▸ 오버라이딩 : 상속받은 메서드 내용 변경 (Change)

public class Parent {
    public void parentMethod(){}
}

public class Child extends Parent{
    public void parentMethod(){}       //오버라이딩
    public void parentMethod(int x){}  //오버로딩

    public void childtMethod(){}       //메서드 정의
    public void childtMethod(int x){}  //오버로딩
    public void childtMethod(){}       //에러. 중복정의
}

 

'Java' 카테고리의 다른 글

[Java] 제어자, 지정자(modifier), 캡슐화  (0) 2023.12.23
[Java] Object 클래스, super, super()  (0) 2023.12.20
[Java] 상속(Inheritance), 포함(composite)  (0) 2023.12.20
[Java] 변수 초기화(명시적, 생성자, 초기화블럭)  (0) 2023.12.18
[Java] this(), this  (0) 2023.12.18
'Java' 카테고리의 다른 글
  • [Java] 제어자, 지정자(modifier), 캡슐화
  • [Java] Object 클래스, super, super()
  • [Java] 상속(Inheritance), 포함(composite)
  • [Java] 변수 초기화(명시적, 생성자, 초기화블럭)
Naah
Naah
  • Naah
    blueprint
    Naah
  • 전체
    오늘
    어제
    • 분류 전체보기 (106)
      • Java (28)
      • Kotlin (0)
      • TypeScript (7)
      • React (22)
      • Next.js (1)
      • Spring (22)
      • JPA (12)
      • Spring Data JPA (6)
      • Querydsl (1)
      • Error (7)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
    • 글쓰기
    • manage
  • 링크

  • 공지사항

  • 인기 글

  • 태그

  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
Naah
[Java] 오버라이딩(OverRiding)
상단으로

티스토리툴바