펀션으로 구현하는것하고 클래스로 구현하는것이 차이점을 잘 모르겠습니다.
구현 편이성은 편션이 더 편하고 클래스는 개념부터가 어렵네요ㅜㅜ
굳이 클래스로 개발을 하는 이유와 장점이 궁금합니다.
감사합니다
댓글 3
-
sapabap
2022.01.15 22:03
-
로우랜즈
2022.02.23 21:35
지극히 개인적으로는 abap에서 보통 클래스를 직접 만들어서 재사용하고 이러지도 않기 떄문에 기능적으로 필수는 아니라고 보구요. 그냥 클래스가 코딩이 더 짧아서 아닐까 싶습니다. 생략가능한게 많거든요. 그리고 없는 사이트에 임포트하기도 편한거 같구요.
-
루무
2022.04.14 22:51
클래스의 장점은 재사용성 및 편의성입니다.
담당하는 프로그램들에서 공통된 정보로
사번, 전화, 주소가 필요하다고 가정을 해보죠.
(전화,주소는 사번에 종속되어 쿼리해야하는 상황)
전화,주소를 리턴해주는 임의의 펑션을 만들어서
프로그램마다 호출하여 핸들링하는것도 방법이지만,
클래스를 만들어서 constructor부분에
사번 입력시 전화,주소를 쿼리하여 attribute로 둔다면,
많은 프로그램에서 해당 클래스를 인스턴스화 한 경우
해당 필드들에 대한 접근이 용이하죠.
물론 프로그램에서 펑션을 매번 호출하는것
클래스를 인스턴스화 하는것을 같은 작업으로 생각할 수 있지만
추후 확장을 하게 된다면 클래스로 사용하는게 훨씬 편리하죠.
(펑션은 매번 파라미터로 넘겨받아야 하지만, 클래스는 attribute에 지정만 해두면 됨)
두서없는 기술적인 얘기라 답변이 미흡합니다만,
공통된 요구사항이 존재한다면 클래스화 하는것이 실 구현 및 유지보수시에 훨씬 편리합니다.
SAP GUI에서 실행하는 ABAP 프로그램은 굳이 클래스로 만들 필요는 없을듯 합니다.
클래스는 ALV에서 사용하고 있고, AVL는 거의 패키지 형태이기 때문에 클래스 메서도 호출하는 정도로만 이해하면 되지 않을까요?
그리고, FIORI 같은 웹 기반의 프로그램이 많이 사용되기 때문에 웹 프로그램은 이제 클래스가 필수이죠.