본문 바로가기
개발/C#

Helper Class - 헬퍼 클래스

by EPdev 2020. 11. 13.
728x90

이번엔 Helper class(이하 헬퍼클래스) 에 대해 알아보겠다.

 

헬퍼클래스란..?

단어의 의미로 먼저 보자면 도움을 주는 클래스이다.

위키피디아를 살펴보면 https://en.wikipedia.org/wiki/Helper_class 

개념이 그렇게 어렵지 않을 것이다.

 

객체지향 프로그래밍에서, 어떤 기능성을 도와주는데 보통 사용된다. 이 기능성이란 애플리케이션의 주 용도가 아닌 것.

즉, 메인 기능이 아닌 어떠한 기능을 지원해준다고 보면 된다.

(뜬금 없지만, 헬퍼클래스의 인스턴스는 헬퍼 오브젝트라고 불린단다. ㅎㅎ)

유틸리티 클래스는 헬퍼 클래스의 특별한 경우 중 하나라고 한다. 뭐가 특별하냐고? 유틸리티 클래스는 모든 메소드가 정적 메소드 (Static method)라고 한다.

그렇단 얘기는, 헬퍼 클래스는 모든 메소드가 static일 필요는 없다는 것.

헬퍼 클래스는 인스턴스 변수도 가질 수 있고, 헬퍼클래스의 인스턴스는 여러개 존재할 수도 있다는 것.

 

대충 위키피디아의 내용은 저런데,

그렇다면 헬퍼 클래스의 예로는 뭐가 있을까?

 

내가 본 예로는 음.. API를 사용할 때 헬퍼클래스를 둘 수 있겠다.

API를 사용하려면 그 platform으로부터 받은 access ID / key가 있을 것이다.

이를 API를 사용할 때마다 선언하고 값을 넣는 것은 나중에 ID나 key값이 변경되었을 때 모두 수정하기에 귀찮다.

그래서 하나의 클래스에 담아두고 필요할 때마다 호출해서 쓰는 것.

 

다만 이 ID나 key에 아무나 접근해서 수정하면 안 되니 공개범위(Public/Private)나 수정가능여부(final) 등을

잘 생각하고 선언해야겠다. 앞서 위키피디아에도 언급됐듯이, 헬퍼 클래스란 모든 게 정적 메소드일 필요는 없다고 했다.

그렇다는 말은 즉, 정적 메소드가 많을 것이다라는 것이다.

 

헬퍼 클래스를 보면서 정적 (static) 메소드에 대해 알아야하는데, 이를 공부하다보면 또 Singleton 모델에 대해서 알게 된다.

헬퍼 클래스 또는 유틸리티 클래스를 잘 사용하려면 이 싱글턴 모델을 알아야한다.

결국 모든것은 이어져있다. 그럼 이만..

 

헬퍼클래스의 예시는 위키피디아 링크에서도 볼 수 있다.

728x90

'개발 > C#' 카테고리의 다른 글

C# 과제  (0) 2020.07.21
Lambda Expression - 람다식  (0) 2020.07.21
as, is 연산자  (0) 2020.07.21
List - 리스트  (0) 2020.07.14
값형식과 참조형식  (0) 2020.07.13

댓글