티스토리 뷰
본 게시물은 프로그래머스 FOO님의 실무 자바 개발을 위한 OOP와 핵심 디자인 패턴을 듣고 작성된 게시물입니다.
public class Parent {
public int parentPublicInt;
protected int parentProtectedInt;
private int parentPrivateInt;
public void someMethod() {
System.out.println("Parent someMethod");
}
}
public class Child extends Parent {
public void anotherMethod() {
System.out.println("Child anotherMethod");
this.parentProtectedInt = 0;
this.parentPublicInt = 0;
// this.parentPrivateInt = 0; // 상속 되지 않았기 때문에 불가능!
}
// 어노테이션은 필수는 아니지만 실수 방지를 위해 해놓는 것이 좋다.
@Override
public void someMethod() {
System.out.println("Child someMethod");
}
}
Child 클래스가 Parent 클래스를 상속(extends)받았다.
상속을 받으면 자식 클래스는 부모 클래스의 필드와 메서드에 접근이 가능하다.
단, 부모 클래스의 필드나 메서드의 접근 제어자가 private일 때는 상속이 불가하다!
🤔 오버라이딩
오버라이딩(Overriding)이란 자식 클래스에서 부모 클래스의 메서드를 상속받아서 재정의하는 것을 의미한다.
주의할 것은 메서드의 시그니처는 모두 같아야한다.(메서드 이름, 반환 타입, 매개변수 등)
// 어노테이션은 필수는 아니지만 실수 방지를 위해 해놓는 것이 좋다.
@Override
public void someMethod() {
System.out.println("Child someMethod");
}
@Override 어노테이션은 의무는 아니다.
하지만, 부모 클래스의 메서드를 상속받았다는 것을 알려주고 실수 방지를 위해서 사용하는 것이 좋다.
🤔 오버로딩
오버로딩(Overloading)은 동일한 메서드 이름으로 파라미터, 리턴 타입이 다른 메서드를 여러 개 정의하는 것을 의미한다.
주의할 것은 리턴 타입만 다르게 하여 오버로딩하는 것은 불가하다.
public int add(int num1, int num2) {
return num1 + num2;
}
// return 타입만 다르게 오버로딩은 불가능
public long add(int num1, int num2) {
return num1 + num2;
} --> 불가
'java' 카테고리의 다른 글
동일성 vs 동등성 (0) | 2023.08.17 |
---|---|
stream API + Optional (0) | 2023.07.15 |
stream API (0) | 2023.07.10 |
람다식 (0) | 2023.07.09 |
Optional (0) | 2023.07.09 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- Java
- 티스토리챌린지
- @NoArgsConstructor
- NPE
- 메인메소드
- @Value
- 생성자
- 일급컬렉션
- N+1문제
- StreamAPI
- Optional
- 백준
- springboot
- @Spring
- Thymeleaf
- lowerBound
- 유효성 검사
- 자바
- 오블완
- JPA
- 동등성
- Spring
- null
- upperBound
- @ConfigurationProperties
- 이진탐색
- uncheckedException
- checkedException
- id생성전략
- ddl-auto
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함