본문 바로가기

JAVA

오버라이딩

오버라이딩이란?

객체지향 프로그래밍에서 상속 관계에 있는 클래스에서 부모 클래스의 메서드를 자식 클래스에서 재정의 하는 것을 의미한다.

 

이런 오버라이딩은 다형성을 구현하는데 매우 중요한 역할을 한다. 오버라이딩을 통해 같은 타입의 객체들이 다양한 방식으로 동작할 수 있도록 해준다. 이렇게 다형성을 활용하면 코드의 재사용성과 유연성이 증가하며 객체 간의 결합도가 낮아져서 유지보수성과 확장성을 높일 수 있다! 그리하여 오버라이딩을 통해 다형성을 구현 할 수 있으며 이를 통해 객체지향 프로그래밍에서 매우 중요한 이점들을 얻을 수 있다! 

 

보통 자바에서는 @Override를 적는데 이를 통한 이점에 대해서 공부한걸 적어본다.

먼저  @Overrided 어노테이션은 메서드를 오버라이딩할 때 사용한다. 이를 사용하면 컴파일러가 해당 매서드가 오버라이딩되었는지 검증을 해준다. 만약 메서드 이름이나 매개변수 타입 등이 잘못되었다면 컴파일오류를 발생시킨다.

 

두번째로는 가독성을 높여준다. 코드를 여러사람과 같이 개발할 경우 읽는 사람이 해당 메서드가 오버라이딩되었음을 쉽게 알 수 있다. 

 

세번째는 버그를 예방한다. 이건 첫번째와 비슷한 이유이다. 

 

네번째는 api변경에 대한 대처를 용이하게 한다. 

자바 api가 변경될 때 오버라이딩된 메서드가 변경되어야 할 수도 있다.그러나 이를 @Overrided어노테이션을 사용하면 api변경에 대한 대처를 용이하게 할 수 있다

'JAVA' 카테고리의 다른 글

1.8 버전 이후로 바뀐 것들  (1) 2023.06.14
wrapper class (boxing vs unboxing)  (0) 2023.04.01
객체지향에서 인터페이스?  (0) 2023.03.30