2013-08-15 1 views
0

이 Java 프로그램에서 나는 빨리 이해/읽기 어렵게 만드는 많은 코드로 main() 메서드를 막히고 있음을 발견했습니다. 특히 내가하고있는 많은 오류 검사 때문입니다. 결과적으로이 예제에서는 가독성을 높이기 위해 사용되는 빠른 함수를 작성하려고합니다.java에서 메소드가 아닌 함수를 가질 수 있습니까?

내 유일한 옵션 인 클래스에 다른 방법을 쓰고 있습니까? 아니면 다른 대안이 있습니까?

+1

짧은 대답 : 예. 그러나 다른 수업을 만들어 거기에 쓸 수는 있습니다. – reagan

+0

당신은 적어도 우리에게 예제 나 힌트를 제공해야합니다. 또는 최소한 적절한 방법으로 질문을 설명하려고 시도하십시오. – Nivde

+0

한 번만 사용되는 메서드에 대해서는 아무 것도 없습니다. 가독성을 높이는 좋은 방법입니다. '정적'메소드 (main과 같이)에서 호출 된 경우 정적 인 메소드도 필요합니다. – kiheru

답변

2

내 유일한 옵션으로 다른 방법을 쓰고 있습니까? 아니면 다른 대안이 있습니까?

그것은 따라 달라

  • 방법이 클래스에만 속해야 경우,이 클래스를 상속 여부를 할 수있는 경우 따라 클래스 private 또는 protected 방법으로 선언해야합니다.

  • 다른 클래스에서 메서드를 다시 사용해야하는 경우 public이라는 유틸리티 클래스로 옮기는 것이 좋습니다. 예를 들어 String이 비어 있는지 확인하고 null이 아닌지 확인합니다. 이 예제에서는 Apache Common Langs의 유틸리티 클래스에서이 유효성 검사를 다루는 메소드가 명시 적으로 StringUtils#isEmpty(String)입니다. 그런데

는 자바 방법, 없는 기능이 있습니다.

+0

Java에서 모든 것을 method라고 부르는 * static 메소드 *는 다른 언어에서 * function *을 호출하는 것과 기능상 동일합니다. 하지만 java는 * 일반적인 함수와 비슷한 것을 허용하지 않습니다 (전형적인 C 함수처럼). – Durandal

+0

@Durandal 예,하지만 언어에 엄격한 것은 정적 메서드이며 함수는 아닙니다. –

2

대답은 예, 일반적으로 private 클래스의 메서드는 외부 세계에서 사용되지 않는 코드를 보유합니다. 그러나 사적인 방법은 대중적인 방법의 순환 적 복잡성을 줄이는 데 도움이됩니다. 메서드가 작을수록 더 읽고 이해하기 쉬운 메서드가됩니다.

0

Java는 이러한 방식으로 설계되었으므로 메소드 만 사용할 수 있습니다. 그래, 그게 유일한 방법이야. 일반적으로 인스턴스 독립 메소드에는 클래스 메소드 (정적)를 사용합니다. 이것들은 유틸리티 또는 헬퍼 클래스와 같은 다른 클래스 내에있을 수도 있습니다.

관련 문제