SAP/๊ฐ์ฒด ์ง€ํ–ฅ OOP

[SAP] ABAP ๊ฐ์ฒด์ง€ํ–ฅ ์–ธ์–ด? / ๊ธฐ์กด ๋ฌธ๋ฒ•๊ณผ ์‹ ๋ฌธ๋ฒ•์˜ ์ฐจ์ด

์ธํฌ๋งˆํ‹ฑ 2025. 4. 23. 16:09

ABAP์„ ์ฒ˜์Œ ์ ‘ํ–ˆ์„ ๋•Œ, ๋‹ค์†Œ ์ ˆ์ฐจ์ง€ํ–ฅ์ ์ธ ๋А๋‚Œ์ด ๊ฐ•ํ–ˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ SAP NetWeaver 7.0 ์ดํ›„ ABAP๋„ ๊ฐ์ฒด์ง€ํ–ฅ(OOP) ํŒจ๋Ÿฌ๋‹ค์ž„์„ ์ ๊ทน ๋ฐ˜์˜ํ•˜๊ธฐ ์‹œ์ž‘ํ–ˆ๊ณ , ์ดํ›„ ABAP ๊ฐœ๋ฐœ์ž๋ผ๋ฉด ๋ฐ˜๋“œ์‹œ ๊ฐ์ฒด์ง€ํ–ฅ์„ ์ดํ•ดํ•˜๊ณ  ํ™œ์šฉํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์ด๋ฒˆ ํฌ์ŠคํŒ…์—์„œ๋Š” ๊ธฐ์กด ABAP ๋ฌธ๋ฒ•๊ณผ ๊ฐ์ฒด์ง€ํ–ฅ ์ค‘์‹ฌ ์‹  ๋ฌธ๋ฒ•์˜ ์ฐจ์ด, ๊ฐ์ฒด์ง€ํ–ฅ ์–ธ์–ด๋กœ์„œ ์–ด๋–ค ํŠน์ง•์„ ๊ฐ–๊ณ  ์žˆ๋Š”์ง€ ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

 

 


 

๐Ÿ“Œ ๊ธฐ์กด ๋ฌธ๋ฒ• vs ์‹  ๋ฌธ๋ฒ• (ABAP NetWeaver 7.0 ์ดํ›„) 

๋จผ์ € ๊ฐ€์žฅ ๊ธฐ๋ณธ์ ์ธ DATA ์„ ์–ธ๊ณผ SELECT ๋ฌธ์—์„œ ๋ฌธ๋ฒ• ์ฐจ์ด๋ฅผ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

* ๊ธฐ์กด ๋ฌธ๋ฒ•
DATA it TYPE TABLE OF scarr.
DATA wa LIKE LINE OF it.

LOOP AT it INTO wa.
ENDLOOP.

* ์‹  ๋ฌธ๋ฒ•
DATA it TYPE TABLE OF scarr.

LOOP AT it INTO DATA(wa).
ENDLOOP.

๊ธฐ์กด์—๋Š” ๋ณ„๋„์˜ ์›Œํฌ์—๋ฆฌ์–ด(wa)๋ฅผ ์„ ์–ธํ•ด์•ผ ํ–ˆ๋‹ค๋ฉด, ์‹  ๋ฌธ๋ฒ•์€ INTO DATA() ํ˜•ํƒœ๋กœ LOOP ๋‚ด๋ถ€์—์„œ ๋ฐ”๋กœ ์„ ์–ธ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

๋‹ค์Œ์€ SELECT ๋ฌธ์ž…๋‹ˆ๋‹ค.

* ๊ธฐ์กด ๋ฌธ๋ฒ•
SELECT a b c
  FROM scarr
  INTO TABLE lt_result
  WHERE carrid = 'LH'.
  
* ์‹  ๋ฌธ๋ฒ•
SELECT FROM scarr
  FIELDS a, b, c
  WHERE carrid = 'LH'
  INTO TABLE lt_result.

 

 ๐Ÿ“Œ ์ ˆ์ฐจ์ง€ํ–ฅ vs ๊ฐ์ฒด์ง€ํ–ฅ์˜ ์ฐจ์ด

  • ์ ˆ์ฐจ์ง€ํ–ฅ: ์œ„์—์„œ๋ถ€ํ„ฐ ์•„๋ž˜๋กœ ํ๋ฅด๋Š” ๋ช…๋ น ์ค‘์‹ฌ์˜ ๊ตฌ์กฐ (์˜ˆ: FUNCTION MODULE, FORM ๋“ฑ)
  • ๊ฐ์ฒด์ง€ํ–ฅ: ๋ฐ์ดํ„ฐ๋ฅผ ์ค‘์‹ฌ์œผ๋กœ ๊ฐ์ฒด๋ฅผ ์„ค๊ณ„ํ•˜๊ณ , ๊ฐ์ฒด ๊ฐ„ ๋ฉ”์„ธ์ง€๋ฅผ ์ฃผ๊ณ ๋ฐ›์œผ๋ฉฐ ๋™์ž‘ํ•จ (์˜ˆ: CLASS, METHOD ๋“ฑ)

ABAP์—์„œ๋Š” Report ํ”„๋กœ๊ทธ๋žจ ์•ˆ์—์„œ CLASS์™€ METHOD๋ฅผ ์ง์ ‘ ์„ ์–ธํ•ด ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์‹ค์ œ ์—…๋ฌด์—์„œ๋Š” SE24 ๊ธ€๋กœ๋ฒŒ ํด๋ž˜์Šค๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” ๊ฒƒ์ด ์ผ๋ฐ˜์ ์ž…๋‹ˆ๋‹ค.

 

 

โ“ABAP์€ ๊ฐ์ฒด์ง€ํ–ฅ ์–ธ์–ด์ธ๊ฐ€?

๊ฐ์ฒด์ง€ํ–ฅ ์–ธ์–ด๋กœ ์ •์˜ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ๋ณดํ†ต ์•„๋ž˜ ์„ธ๊ฐ€์ง€ ํŠน์„ฑ์„ ์ถฉ์กฑํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

  1. Encapsulation (์บก์Аํ™”): ์ ‘๊ทผ ์ œ์–ด์ž (Public / Private / Protected)
  2. Inheritance (์ƒ์†): ํด๋ž˜์Šค๋ฅผ ์ƒ์†๋ฐ›์•„ ๊ธฐ๋Šฅ ํ™•์žฅ ๊ธฐ๋Šฅ
  3. Polymorphism (๋‹คํ˜•์„ฑ): ๋™์ผํ•œ ๋ช…๋ น์œผ๋กœ ์„œ๋กœ ๋‹ค๋ฅธ ๊ฐ์ฒด๊ฐ€ ๊ฐ์ž ๋‹ค๋ฅด๊ฒŒ ๋™์ž‘

ABAP์€ ์„ธ๊ฐ€์ง€ ๋ชจ๋‘๋ฅผ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. ํŠนํžˆ SAP NetWeaver 7.0๋ถ€ํ„ฐ ๊ฐ์ฒด์ง€ํ–ฅ์„ ๋ณธ๊ฒฉ์ ์œผ๋กœ ์ง€์›ํ•˜๋ฉด์„œ, ์ „ํ†ต์ ์ธ ํ”„๋กœ์‹œ์ € ๊ธฐ๋ฐ˜ ์–ธ์–ด์—์„œ OOP ์–ธ์–ด๋กœ ๋ณธ๊ฒฉ ์ „ํ™˜๋˜์—ˆ๋‹ค๊ณ  ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.