본문 바로가기
~2024.10

[JAVA] 추상 메소드와 no-op 메소드의 차이점

by HJfan 2024. 3. 5.

01. 서론

안드로이드 코드를 공부하던 중 public void init() {}; 이라는 코드를 보게 되었다.

아직 자바 문법에 익숙하지 않았던 나는 위 메소드가 추상 메소드라고 생각했는데, 찾아보니

그냥 비어 있는 no-op 메소드라고 한다.

*no-op Method란? no-operation Method의 줄임말로 아무 동작도 수행하지 않는 메소드를 의미한다.

 -해당 스택 오버 플로우 답변 참조-


02. 차이점

우선 추상 메소드를 간략하게 설명하자면, 선언부만 있고, 구현부는 없는 메소드를 의미한다.

 

차이점을 살펴보면, 추상 메소드는 public abstract void myMethod(); 와 같은 형식으로 선언되는 반면

no-op 메소드는 public void myMethod() {}; 처럼 중괄호가 있고, abstract라는 키워드가 붙지 않는다.

 

그리고 추상 메소드는 상속 받은 클래스에서 반드시 구현을 해야 하는 강제성이 따르지만,

no-op 메소드는 위 행위가 선택적이고, 비어 있는 메소드로 사용할 수도 있는 것이다.