interface 자바 new - Java 인터페이스의 메소드를 공용 액세스 수정자를 사용하거나 사용하지 않고 선언해야합니까?





5 Answers

Java 인터페이스에서는 공개 수정자를 생략해야합니다 (제 의견으로는).

추가 정보를 추가하지 않으므로 중요한 정보로부터주의를 끕니다.

대부분의 스타일 가이드는 당신이 그것을 생략 할 것을 권할 것이지만, 물론 가장 중요한 것은 코드베이스, 특히 각 인터페이스에 대해 일관성을 유지하는 것입니다. 다음 예제는 자바에 100 % 유창하지 않은 사람을 쉽게 혼동 할 수 있습니다.

public interface Foo{
  public void MakeFoo();
  void PerformBar();
}
다형성 예제 구현체란

public 액세스 수식 자의 유무에 관계없이 Java 인터페이스의 메소드를 선언해야합니까?

물론 기술적으로는 중요하지 않습니다. interface 를 구현하는 클래스 메소드는 항상 public 입니다. 그러나 더 나은 대회는 무엇입니까?

Java 자체는 일관성이 없습니다. 예를 들어 CollectionComparable 또는 Future vs. ScriptEngine 참조하십시오.




기본적으로 적용되는 수정자를 넣지 않아도됩니다. 지적했듯이, 불일치와 혼란을 야기 할 수 있습니다.

내가 본 최악의 경우 abstract 메소드 선언 인터페이스 ...




나는 인터페이스가없고 직접 구현을 작성한다면 공용을 사용할 것이라고 항상 쓸 것이다.




나는 그것을 건너 뛰는 것을 선호한다. 나는 인터페이스가 기본적으로 public 되고 abstract 이라는 것을 읽었다.

놀랍게도 Head First Design Patterns 는 인터페이스 선언과 인터페이스 메소드를 public 으로 사용하고 있습니다. 다시 한 번 생각해 보았습니다.이 포스트에 착수했습니다.

어쨌든 중복 된 정보는 무시해야한다고 생각합니다.




그것은 완전히 주관적입니다. 중복 된 public 수정자를 생략하여 혼란처럼 보입니다. 다른 사람들이 언급했듯이 일관성이이 결정의 핵심입니다.

C # 언어 디자이너가이를 적용하기로 결정한 점은 흥미 롭습니다. C #에서 공용 인터페이스 메서드를 public으로 선언하는 것은 실제로 컴파일 오류입니다. 일관성은 아마도 언어별로 중요하지 않으므로 자바와 직접적인 관련이 없다고 생각합니다.




Related