본문 바로가기
🌔Developers

자바에 @Override 가 필수로 요구되는 이유

by 키훈마스 2023. 2. 7.
반응형

 

 

 

안드로이드 스튜디오를 이용해 개발을 하고, (코틀린이 아닌)자바 파일을 수정하기 위해 파일을 열면, 매 단락마다 Override가 있는 걸 볼 수 있을 것이다.

 

@Override주석은 Java 및 Android Studio에서 사용되며 메서드가 슈퍼클래스에 정의된 메서드를 재정의하기 위한 것임을 나타냅니다.의 사용@Override는 덮어쓰는 메서드가 실제로 슈퍼클래스에 정의되어 있는지 확인하는 데 도움이 됩니다.또, 그 메서드가 덮어쓰기로서 기능하는 것을 의도하고 있는 코드를 판독하는 다른 사용자에게 명확하게 지시하는 문장이다.

 

public class MyClass extends SuperClass {
   @Override
   public void myMethod() {
      // implementation goes here
   }
}

 

 

이 예에서 MyClass 클래스는 SuperClass 클래스를 확장하기 위한 것이고 myMethod 메서드는 SuperClass에 정의된 동일한 이름의 메서드를 재정의하기 위한 것입니다. @Override 주석은 이러한 의도를 나타내기 위해 사용되며, Java 컴파일러는 재정의되는 메서드가 실제로 SuperClass 클래스에 정의되어 있는지 확인합니다.

 

 

자바와 달리 코틀린은 Override를 포함하지 않는다.

 

 

Override가 포함되는 이유

코틀린은 @Override 주석을 잘 사용하지 않지만, 만약 당신이 자바를 이용해 개발을 진행할 예정이라면 이 글을 읽어 보는 것이 많은 도움이 될 것이다. 첫 번쨰로는, @Override 주석을 사용하면 몇 가지 이점이 있습니다. 첫째, 어떤 메소드가 오버라이드 역할을 하는지 명확한 표시를 제공하기 때문에 코드를 이해하고 유지하기가 더 쉬워진다. 이것은 모든 사람들이 다른 클래스와 방법 사이의 관계를 확실히 인식하도록 돕기 때문에 많은 기여자가 있는 더 큰 프로젝트에서 특히 중요하다.

 

둘째, @Override 주석은 개발 프로세스 초기에 오류를 파악하는 데 도움이 될 수 있다. 예를 들어 개발자가 슈퍼클래스의 메서드와 호환되지 않는 방식으로 오버라이드된 메서드의 서명을 실수로 변경하면 Java 컴파일러는 오류를 생성합니다. 이를 통해 오류를 수정하기가 어려워지기 전에 오류를 발견하고 버그가 코드에 유입되는 것을 방지할 수 있다. 오류 개짜증남

 

마지막으로, @Override 주석은 코드의 성능을 향상시킬 수 있다. 자바 컴파일러는 @Override 주석을 포함하는 코드를 최적화할 수 있다. 이렇게 하면 코드 실행 속도가 빨라지고 성능이 향상될 수 있다구 한다. 

 

결론적으로 @Override 주석은 Java 및 Android 개발자에게 중요한 도구입니다. 코드를 이해하고 유지하기 쉽고 개발 프로세스 초기에 오류를 포착하며 코드 성능을 향상시킬 수 있도록 지원합니다. 소규모 프로젝트든 대규모 프로젝트든 @Override 주석을 사용하는 것이 모든 Java 및 Android 개발자에게 권장되는 모범 사례이며, 만약 님이 안드로이드나 자바 쪽에서 일을 할 일이 생긴다면 오버라이드 주석을 다는 건 피할 수 없다.

 

Override 문을 사용하지 않는 방법이 있는가?

할 수 있을 수도 있을 것이다. Java 또는 Android Studio에서 @Override 주석을 사용하지 않고 개발을 진행할 수 있다. @Override 주석은 코드의 가독성과 유지보수성을 향상시키는 데 도움이 될 수 있는 편리한 기능이지만 코드의 적절한 기능을 위해 엄격하게 필요하지는 않다.

 

@Override 주석을 사용하는 것에 대한 한 가지 대안은 명명 규칙과 명확한 문서에 의존하여 재정의로 사용할 방법을 표시하는 것입니다. 예를 들어, 개발자는 메서드 이름을 "override_"로 접두사를 붙이거나 메서드에 오버라이드 역할을 하는 것을 나타내는 주석을 포함하는 것과 같은 명명 규칙을 사용할 수 있다.

그러나 명명 규칙과 문서에만 의존하는 것은 몇 가지 단점이 있다. 첫째, 코드를 작성할 때 적절한 접두사나 주석을 포함하는 것을 잊기 쉽기 때문에 오류가 발생하기 쉽다. 이는 다른 개발자나 향후 버전의 코드가 작성될 때 혼란과 실수로 이어질 수 있다.

둘째로, 명명 규칙과 문서화에 의존하면 개발자가 다른 클래스와 방법 간의 관계에 대한 정보를 적극적으로 검색해야 하기 때문에 코드의 가독성이 떨어질 수 있다. 이것은 시간이 지남에 따라 코드를 이해하고 유지하는 것을 더 어렵게 만들 수 있다.

 

마지막으로, @Override 주석은 개발 프로세스 초기에 오류를 발견하는 데 도움이 될 수 있다. 예를 들어 개발자가 슈퍼클래스의 메서드와 호환되지 않는 방식으로 오버라이드된 메서드의 서명을 실수로 변경하면 Java 컴파일러는 오류를 생성합니다. 이를 통해 오류를 수정하기가 어려워지기 전에 오류를 발견하고 버그가 코드에 유입되는 것을 방지할 수 있습니다.

결론적으로, 자바나 안드로이드 스튜디오에서 @Override 주석을 사용하지 않고 개발을 진행하는 것은 가능하지만, 그렇게 하는 것은 코드의 품질과 유지보수성에 영향을 미칠 수 있는 단점을 가질 수 있다. 따라서 코드가 명확하고 읽기 쉬우며 유지 관리하기 쉽도록 가능한 경우 @Override 주석을 사용하는 것이 좋습니다.

 

즉 결론은 @Override주석은 필수라고 할 수 있겠다.

 

 

 

반응형