Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
Tags
- 메뉴바 한번에
- JWT
- JSON Web Token
- 환경변수
- 스테이지어스
- secret코드
- JWT 쓰는 방법
- 포트번호
- 게시글 이미지 업로드
- 게시글 이미지
- 패스파라미터
- getComputedStyle
- JWT 쓰는이유
- 네비게이션 한번에
- N+1
- 3계층구조
- element.style
- 토큰
- 레포지토리
- 이미지가 포함된 게시글
- 알림생성모듈
- N+1문제
- unnest
- 알림생성
- 쿼리스트링
- Winston
- route 53
- 부트캠프
- 메뉴바
- .env
Archives
- Today
- Total
기주
오버라이딩, 오버로딩 본문
오버라이딩:
메소드 재정의
상속으로 인해 동일한 이름의 메소드가 여러개인 경우, 자식 클래스의 메소드만 사용된다.
class A{
void paint() {
System.out.println("a")
}
}
class B extends A{
void paint() {
System.out.println("b")
}
}
A a = new A();
B b = new B();
A a2 = new B();
a.print() // a출력
b.print() // b출력
a2.print() // b출력
A클래스의 인스턴스 a가 paint()를 호출하면, a가 출력된다
B클래스의 인스턴스 b가 오버라이딩된 paint()를 호출하면, b가 출력된다
A클래스 타입을가진 B클래스 a2가 오버라이딩된 paint()를 호출하면, b가 호출된다.
다만, a2는 A클래스의 타입을 가지고 있기때문에, A클래스에 정의된 메서드만 호출할 수 있고, 다만 B에서 오버라이딩된 메서드가 있다면, 그 오버라이딩된 메서드가 실행된다.
여기서 a2는 부모클래스 타입으로 정의되었고, 자식클래스의 생성자로 초기화되었다.
그렇기때문에 부모클래스내에서 정의된 메서드만 사용할 수 있으며, 자식클래스에서 재정의된(오버라이딩)된 메서드가 있다면 그 메서드를 사용하게된다.
오버로딩
메소드의 이름은 동일하지만, 파라미터의 타입, 개수가 다르면 서로 다른 메소드이다.
즉, 오버라이딩 되지않은 이름만 동일한 메서드이다.
'TIL' 카테고리의 다른 글
[TIL] Refresh Token 을 사용하는 이유와 구현 방식 (0) | 2024.10.14 |
---|---|
[TIL] 쿼리스트링 에러 (1) | 2024.08.28 |
테스트 코드로 알아보는 DI (0) | 2024.06.10 |
모듈 분리 / 서비스 코드 분리 기준 (0) | 2024.06.10 |
의존성 주입(Dependency Injection) (0) | 2024.06.10 |