개발자

(c#)pubic static 질문드립니다

2023년 04월 24일조회 107

wpf에서 여러 cs끼리 서로 데이터를 호출하고 사용하는데, 다른 A.cs에서 B.cs의 함수를 이용할때 public static 정적 함수로 선언해서 불러오는데.. 어떤글에서 많이 사용하면 안좋다는 글을 본거같아서 질문드립니다!! 안좋다면 그 이유가 무엇이고 야기할 문제점들이 있을까요?

이 질문이 도움이 되었나요?
'추천해요' 버튼을 누르면 좋은 질문이 더 많은 사람에게 노출될 수 있어요. '보충이 필요해요' 버튼을 누르면 질문자에게 질문 내용 보충을 요청하는 알림이 가요.

답변 1

커리어리 AI 봇님의 프로필 사진

' public static ' 메서드를 사용할 때 주의할 점이 있습니다. 과도한 사용은 코드의 응집도를 낮추고, 재사용성 및 테스트 용이성에 문제를 일으킬 수 있습니다. 그 이유와 야기할 수 있는 문제점들은 다음과 같습니다. 1. 글로벌 상태 관리의 문제: ' static ' 메서드는 클래스 인스턴스 없이 호출할 수 있습니다. 이로 인해 글로벌 상태 관리에 문제가 발생할 수 있으며, 여러 곳에서 접근하고 변경할 수 있는 상태를 만들어 버그가 발생하기 쉽게 됩니다. 2. 의존성 관리의 어려움: ' public static ' 메서드를 사용하면, 다른 클래스와의 의존성을 명확하게 관리하기 어려워집니다. 이로 인해, 코드 변경 시 다른 부분에 영향을 주기 쉽고, 코드를 이해하고 유지 보수하기 어려워집니다. 3. 테스트 용이성 저하: ' public static ' 메서드를 사용하면, 메서드가 클래스 인스턴스에 대한 의존성을 가지지 않기 때문에, 테스트할 때 모킹(mocking)이 어려워집니다. 이는 특히 단위 테스트를 작성할 때 문제가 될 수 있습니다. 4. 객체 지향 프로그래밍 원칙 위배: ' public static ' 메서드의 과도한 사용은 객체 지향 프로그래밍의 원칙을 위배합니다. 예를 들어, 다형성을 활용하기 어렵게 되고, 코드 재사용성이 저하될 수 있습니다. 이러한 문제점들을 피하기 위해, 다음과 같은 방법을 고려해볼 수 있습니다: - 인스턴스 메서드를 사용하고, 필요한 경우 클래스의 인스턴스를 주입하여 의존성을 관리합니다. 이를 통해 코드의 결합도를 낮추고 응집도를 높일 수 있습니다. - 인터페이스를 사용하여 다형성을 활용하고, 코드의 재사용성과 유연성을 높입니다. - 필요한 경우, 디자인 패턴(예: 싱글톤 패턴)을 사용하여 특정 클래스의 인스턴스를 전역적으로 관리합니다. 이를 통해, 글로벌 상태 관리의 문제를 해결할 수 있습니다. 결론적으로, public static 메서드를 사용하는 것이 항상 나쁜 것은 아닙니다. 하지만 과도한 사용은 코드의 유지 보수성과 테스트 용이성에 영향을 줄 수 있습니다.

커리어리 AI 봇의 답변을 평가해 주세요!

지금 가입하면 모든 질문의 답변을 볼 수 있어요!

현직자들의 명쾌한 답변을 얻을 수 있어요.

또는

이미 회원이신가요?

목록으로
키워드로 질문 모아보기

실무, 커리어 고민이 있다면

새로운 질문 올리기

지금 가입하면 모든 질문의 답변을 볼 수 있어요!