inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

예제로 배우는 스프링부트 입문

(02) Java Code로 DI 사용하기

@Override 는 어떨때 사용하는지 궁금합니다.

5565

LUA

작성한 질문수 33

0

Print라는 interface를 implements 할때 @Override라는 어노테이션을 붙이던데요, 이게 왜 붙어야 하는지 어떤 역할을 해주는지가 궁금합니다..

interface를 implement했기 때문에 print 메소드가 오버라이드인것은 알겠는데 굳이 @Override 애노테이션을 왜 붙어야 하는것인지 주로 어떤이유와 상황에서 사용되는지 궁급합니다.

자바스크립트만 공부하고 리액트로 프론트업무를 하다가 스프링부트 개발로 전향하려고 나름 공부를 하고는 있는데 의문이 생기는 부분이 많습니다..ㅜㅜ 앞으로도 질문을 많이드릴것 같아 상황에 대해 주절주절 언급드렸습니다!

spring-boot

답변 1

7

이재환

상속받은 메서드를 재정의할 때 메서드 이름이 틀리지 않게 쓰기 위한 어노테이션입니다~

가령 부모 객체에 printerA 라는 메서드가 있고 상속을 받은 객체에서 printerA 를 재정의해서 쓰고 싶을 때 만약 printerAA 라고 오타를 입력하고 만들 수 있습니다.

이 경우 @Override 어노테이션이 붙어 있었다면 부모 객체엔 이런 메서드가 없어 하고 에러를 내 줍니다.

@Override 어노테이션이 붙어 있지 않았다면 상속 받은게 아니고 그냥 새로운 메서드를 만들어 쓴 것이기 때문에 컴파일러는 에러를 내지 않습니다.

결론적으로, 사람의 실수를 막아 주기 위한 어노테이션입니다 ^^

java Code로 DI 사용하기

0

124

1

sts 24년 8월 3일 최신버전에서 toolchain 오류

0

728

2

34강 3.2.1버전에서 update만 안됨

0

428

1

26강, springboot 3.1.5에서는 에러

0

335

1

33강 jpa 질문입니다

0

527

2

25강 security 관련 에러 (Is there an unresolvable circular reference?)

0

2196

1

스프링 버전 관리 관련하여 문의드립니다.

0

516

1

security 로그인 관련 질문합니다.

0

315

1

getContent,getWriter 안만들고 어떻게 사용했나요?

0

284

1

스프링부트 환경 설정 관련

0

418

1

강의자료 관련

0

371

2

안녕하세요 선생님. 오류 관련 질문 드립니다.

0

403

1

sqlSessionFactory는 생성안해도 되나요??

0

402

1

.예제 소스 어떻게 그대로 복사해서 실행하나요?

0

407

2

안녕하세요 질문입니다.

0

264

2

에러 발생..

0

291

1

@Transactional 선언 위치

0

301

1

외부 톰캣을 사용할 경우

0

247

1

getFieldError 질문

0

274

1

@Valid 질문입니다

1

272

1

createPage.jsp 질문

0

245

1

ContentValidator 클래스 내 validate 메소드 질문

0

175

1

(09) Validator 사용하기 @ModelAttribute("dto") 가 사용된 이유?

0

264

1

Spring Boot 2.5에서 MyBatis선택이 안되네요..

0

345

2