일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 자바
- 데이터베이스
- 자바기본
- 디자인패턴
- 직장인자기계발
- String
- DB
- javabasic
- 자바기초
- DesignPattern
- 디자인
- 스프링
- 재택근무
- 웹
- 패캠챌린지
- 패스트캠퍼스
- js
- ncs
- 자바예제
- 리눅스
- 한번에끝내는JavaSpring웹개발마스터초격차패키지Online
- 직장인인강
- linux
- 자바연습문제
- java
- java기초
- Spring
- 국비
- 패스트캠퍼스후기
- 한번에끝내는JavaSpring웹개발마스터초격차패키지Online강의
- Today
- Total
FIF's 코딩팩토리
패스트캠퍼스 챌린지 29일차 본문
메소드 재정의 하기(overriding)
오버라이딩(overriding)이란 상속 관계에 있는 부모 클래스에서 이미 정의된 메소드를 자식 클래스에서 같은 시그니쳐를 갖는 메소드로 다시 정의하는 것이라고 할 수 있다.
자바에서 자식 클래스는 부모 클래스의 private 멤버를 제외한 모든 메소드를 상속받는다.
이렇게 상속받은 메소드는 그대로 사용해도 되고, 필요한 동작을 위해 재정의하여 사용할 수도 있다.
즉, 메소드 오버라이딩이란 상속받은 부모 클래스의 메소드를 재정의하여 사용하는 것을 의미한다.
오버라이딩의 조건
자바에서 메소드를 오버라이딩하기 위한 조건은 다음과 같다.
1. 오버라이딩이란 메소드의 동작만을 재정의하는 것이므로, 메소드의 선언부는 기존 메소드와 완전히 같아야 한다.
하지만 메소드의 반환 타입은 부모 클래스의 반환 타입으로 타입 변환할 수 있는 타입이라면 변경할 수 있습니다.
2. 부모 클래스의 메소드보다 접근 제어자를 더 좁은 범위로 변경할 수 없다.
3. 부모 클래스의 메소드보다 더 큰 범위의 예외를 선언할 수 없다.
오버로딩(ovverloading) 과 오버라이딩(overriding)
오버로딩과 오버라이딩은 그 단어의 유사함으로 인해 혼동하기 쉽다.
하지만 그 개념은 확실히 다르며, 그 차이점을 아는 것이 중요하다.
간단히 정의하면 오버로딩(overloading)은 새로운 메소드를 정의하는 것이다.
하지만 오버라이딩(overriding)은 상속받은 기존의 메소드를 재정의하는 것이다.
본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성되었습니다.
'패스트캠퍼스 챌린지' 카테고리의 다른 글
패스트캠퍼스 챌린지 31일차 (0) | 2022.02.23 |
---|---|
패스트캠퍼스 챌린지 30일차 (0) | 2022.02.22 |
패스트캠퍼스 챌린지 28일차 (0) | 2022.02.20 |
패스트캠퍼스 챌린지 27일차 (0) | 2022.02.19 |
패스트캠퍼스 챌린지 26일차 (0) | 2022.02.18 |