이 질문의 익숙하지 않은 특성에 사과드립니다. 간단한 대답이 있다면 설명에 대한 링크 만 있으면 나를 행복하게 해 줄 것입니다.왜 정적 메서드를 클래스에 래핑해야합니까?
프로그래밍을 6 개월 수행 한 후에 정적 클래스가 여러 클래스에 적용되는 루틴을 저장하는 데 다소 유용하다는 것을 발견했습니다. 여기에 내가 정적 클래스를 사용하는 방법의 단순화 된 예입니다, 내 질문은 다양한 것들을
public static class TextProcessor
{
public static string[] GetWords(string sentence)
{
return sentence.Split(' ');
}
public static int CountLetters(string sentence)
{
return sentence.Length;
}
public static int CountWords(string sentence)
{
return GetWords(sentence).Length;
}
}
에 텍스트를 구문 분석하기위한 클래스입니다 그리고
class Program
{
static void Main(string[] args)
{
string mysentence = "hello there stackoverflow.";
Console.WriteLine("mysentence has {0} words in it, fascinating huh??", TextProcessor.CountWords(mysentence));
Console.ReadLine();
}
}
같은 명백한 가지 방법으로 사용이 필요한 이유 이러한 정적 메서드를 정적 클래스로 래핑하려면? 아무런 도움이되지 않는 것 같습니다. 클래스에 래핑되지 않고이 메서드를 자체적으로 가질 수있는 방법이 있습니까? 나는 캡슐화가 유익하다는 것을 알고 있지만 정적 클래스에 래핑 된 정적 메서드에 대해서는 사용하지 않습니다. 문학적으로 또는 다른면에서 내가 빠진 것이 있습니까? 어리석은 나무를 완전히 짖고 있습니까? 너무 많이 생각하고 있니?
위대한 질문이지만, "자바가했기 때문에"지루한 것 같습니다. – Jacob
궁극적으로 언어가 어떻게 설계되었는지에 달려 있습니다. 모든 메소드는 클래스에 있어야합니다. 왜? 일관성을 위해서 일 겁니다. –
확인이 [포스트] [1] [1] : http://stackoverflow.com/questions/7933540/c-sharp-static-class-why-use – xgencoder