• Mindscape ๐Ÿ”ฅ
    • Playlist ๐ŸŽง
  • Algorithm

    • 1018๋ฒˆ: ์ฒด์ŠคํŒ ๋‹ค์‹œ ์น ํ•˜๊ธฐ
    • 1966๋ฒˆ: ํ”„๋ฆฐํ„ฐ ํ
    • Python ์‹œ๊ฐ„ ์ดˆ๊ณผ ๋ฐฉ์ง€๋ฅผ ์œ„ํ•œ ํŒ
    • C++ std::vector ์‚ฌ์šฉ๋ฒ• ์ •๋ฆฌ
    • Vim ์‚ฌ์šฉ ๋งค๋‰ด์–ผ
  • Ubuntu

    • ๋ฆฌ๋ˆ…์Šค ์šฐ๋ถ„ํˆฌ GRUB ํฐํŠธ ๋ณ€๊ฒฝ
    • ์šฐ๋ถ„ํˆฌ ์ด๋ฏธ์ง€ ๋น„๋””์˜ค ์ธ๋„ค์ผ(๋ฏธ๋ฆฌ๋ณด๊ธฐ) ์•ˆ ๋ณด์ž„ ๋ฌธ์ œ ํ•ด๊ฒฐ
    • Wine ํ™˜๊ฒฝ์—์„œ ์นด์นด์˜คํ†ก ์‹คํ–‰ ์‹œ explorer.exe ๋œจ์ง€ ์•Š๊ฒŒ ํ•˜๋Š” ๋ฒ•
    • ์šฐ๋ถ„ํˆฌ Wine ์นด์นด์˜คํ†ก ์‚ฌ์ง„ ์ด๋ฏธ์ง€ ์Šคํฌ๋ฆฐ์ƒท ๋ถ™์—ฌ๋„ฃ๊ธฐ
    • Wine ์นด์นด์˜คํ†ก ์ด๋ชจ์ง€ ๊นจ์ง ๋ฌธ์ œ ํ•ด๊ฒฐ
    • Ubuntu ์œˆ๋„์šฐ ์• ๋‹ˆ๋ฉ”์ด์…˜ ๋„๊ธฐ
  • Wellness

    • ์ฐจ์ „์žํ”ผ (Psyllium Husk)
    • ์—‘์ŠคํŠธ๋ผ ๋ฒ„์ง„ ์˜ฌ๋ฆฌ๋ธŒ์œ  (Extra Virgin Olive Oil)
    • ์ž๊ฐ€๋น„๊ฐ•์„ธ์ฒ™ (Nasal Irrigation)
    • QCY HT08 (MeloBuds Pro Plus)
    • ์ฝ˜์„œํƒ€ (Concerta)
    • ์ธ๋ฐ๋†€ (Inderal)
    • ์„คํŠธ๋ž„๋ฆฐ (Sertraline)
    • ๋ฉœ๋ผํ† ๋‹Œ (Melatonin)
    • ์น˜๊ฒฝ๋ถ€ ๋งˆ๋ชจ์ฆ
    • ๋ฐ”๋ฒจ ์Šค์ฟผํŠธ (Barbell Squat)
  • Humanities

    • Nordvik, Russia
    • North Sentinel Island
    • ๋กฑ๊ณ ๋กฑ๊ณ (Rongorongo)
    • ๋ฐ”๋กœํฌ ์Œ์•… (Baroque Music)
  • Design

    • ๊ตฌ๊ธ€์˜ ์•„์ด์ฝ˜ ๋Œ€๊ฐœํŽธ โ€” 6๋…„ ๋งŒ์˜ ์‹ค์ˆ˜ ์ธ์ •
    • ์ œ๋Ÿด๋“œ ์  ํƒ€ โ€” ๋Ÿญ์…”๋ฆฌ ์Šคํฌ์ธ  ์›Œ์น˜์˜ ์ฐฝ์‹œ์ž
    • ๋ฐ”์šฐํ•˜์šฐ์Šค โ€” ํ˜„๋Œ€ ๋””์ž์ธ์˜ ์›์ 
  • Brands

    • NOMOS Glashรผtte
    • Frรฉdรฉrique Constant
    • KZ (Knowledge Zenith)
    • ์—์ŠคํŠธ๋ผ (AESTURA)
    • JINHAO (้‡‘่ฑช)
    • Herman Miller
    • ๋ฐ์Šค์ปค (DESKER)
    • ๋ฌด์‹ ์‚ฌ ์Šคํƒ ๋‹ค๋“œ (Musinsa Standard)
  • Finance

    • ํ˜„๋Œ€์นด๋“œ ZERO โ€” Edition2 vs Edition3 ๋น„๊ต
    • ์‹ ํ•œ์นด๋“œ ์ฒ˜์Œ
    • S&P 500 ETF ํˆฌ์ž ๊ฐ€์ด๋“œ
    • ํŒŒํ‚นํ†ต์žฅ vs CMA ํ†ต์žฅ
    • ๋ฒ„ํฌ์…” ํ•ด์„œ์›จ์ด (Berkshire Hathaway)
    • ๋น„ํŠธ์ฝ”์ธ(Bitcoin)
  • Products

    • ์˜ค๋””์˜ค ์ธํ„ฐํŽ˜์ด์Šค (Audio Interface)
    • ์ฟ ๋ฃจํ† ๊ฐ€ (KURUTOGA)
    • CX31993 DAC ๋™๊ธ€
    • ํด๋ Œ์ง• ๋ฐ€ํฌ (Cleansing Milk)
    • ํ”ผ์ ฏ ํ† ์ด (Fidget Toy)
    • ThinkPad
  • Programming Languages

    • 8.0. Statement Level Control Structures
    • 8. Subprogram
    • 9. Implementing Subprogram
    • 10.1. Abstract Data Types and Encapsulation Constructs
    • 10.2. Support for Object Oriented Programming
    • 11. Concurrency
    • 12. FPL (1)
    • 13. FPL (2)
    • 14. Exception Handling and Event Handling
    • Final Exam

Homeworkย #1-2\text{Homework \#1-2}Homeworkย #1-2

์ž‘์„ฑ 2026. 6. 12.ยท์ˆ˜์ • 2026. 6. 12.
  • Software Engineering (10780)
  • ํ•™๋ฒˆ: 2021024057
  • ์ด๋ฆ„: ๊น€๋ณ‘์ค€

1. ๊ณผ์ œ ๋ถ„์„ ๋ฐ ์‚ฌ์šฉ Design Pattern

Homework #1-2์˜ ์ฃผ์š”ํ•œ ๋ชฉํ‘œ๋Š” ์†Œํ”„ํŠธ์›จ์–ด์˜ ์œ ์—ฐ์„ฑ, ํ™•์žฅ์„ฑ, ์œ ์ง€๋ณด์ˆ˜์„ฑ์„ ๋†’์ด๋Š” ์„ธ ๊ฐ€์ง€ design pattern์„ ์ ์šฉํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

#์š”๊ตฌ์‚ฌํ•ญDesign PatternDesign Principle
P1java.io.Writer/Reader์— ์•”ํ˜ธํ™”/๋ณตํ˜ธํ™” ๊ธฐ๋Šฅ ์ถ”๊ฐ€Decorator PatternOCP
P2๋‹ค์–‘ํ•œ ์•”ํ˜ธํ™” ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ง€์› ๊ธฐ๋Šฅ ์ถ”๊ฐ€Strategy PatternSRP
P3Directory ๊ตฌ์กฐ์—์„œ keyword ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ ๊ตฌํ˜„Visitor PatternOCP and DIP

2. Design Pattern Implementation and Argument

2.1. P1: Decorator Pattern ๊ธฐ๋ฐ˜ EncryptWriter ๋ฐ DecryptReader ๊ตฌํ˜„

Decorator UML class diagram[1]
alt text

  • Decorator Pattern์€ ๊ฐ์ฒด์˜ ๊ธฐ๋Šฅ์— ์ƒˆ๋กœ์šด responsibility๋ฅผ ๋™์ ์œผ๋กœ ์ถ”๊ฐ€ํ•˜๋Š” ๊ตฌ์กฐ์ ์ธ ํŒจํ„ด์ž…๋‹ˆ๋‹ค.
  • Subclassing ๋Œ€์‹  ๊ฐ์ฒด ๊ตฌ์„ฑ์„ ํ†ตํ•ด ๊ธฐ๋Šฅ์„ ํ™•์žฅํ•˜๋Š” ๋Œ€์•ˆ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.
  • ์ ์šฉ: ๊ธฐ์กด์˜ I/O ์ŠคํŠธ๋ฆผ class(Writer, Reader)๋ฅผ ์ˆ˜์ •ํ•˜์ง€ ์•Š๊ณ , ๊ทธ ์œ„์— EncryptWriter์™€ DecryptReader๋ผ๋Š” Decorator๋ฅผ ์”Œ์›Œ ์•”ํ˜ธํ™”/๋ณตํ˜ธํ™” ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.
  • Design Pattern
    • EncryptWriter๋Š” ๋‚ด๋ถ€์ ์œผ๋กœ ๋‹ค๋ฅธ Writer ๊ฐ์ฒด๋ฅผ ์ฐธ์กฐํ•˜๋ฉฐ, write()๊ฐ€ ํ˜ธ์ถœ๋  ๋•Œ Caesar cipher (3์นธ ์™ผ์ชฝ rotation)๋ฅผ ์ ์šฉํ•œ ํ›„, wrapping๋œ ๊ฐ์ฒด์˜ write()๋ฅผ ํ˜ธ์ถœํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฅผ ์ „๋‹ฌํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.
    • DecryptReader๋Š” wrapping๋œ Reader ๊ฐ์ฒด์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์ฝ์–ด์˜จ ํ›„, ์—ญ๋ณ€ํ™˜์„ ์ˆ˜ํ–‰ํ•˜์—ฌ ๋ณตํ˜ธํ™”๋œ ๋ฌธ์ž๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.
  • ์ด ๊ตฌํ˜„์€ OCP (Open-Closed Principle)๋ฅผ ๋งŒ์กฑ์‹œํ‚ค๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ๊ธฐ์กด์˜ java.io ์ŠคํŠธ๋ฆผ class๋Š” ์ˆ˜์ •์— ๋Œ€ํ•ด closed๋˜๋ฉด์„œ๋„, Decorator๋ผ๋Š” ์ƒˆ๋กœ์šด wrapping class๋ฅผ ํ†ตํ•ด ์•”ํ˜ธํ™”๋ผ๋Š” ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ์„ ํ™•์žฅ์— ๋Œ€ํ•ด open๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

2.2. P2: Strategy Pattern์„ ํ™œ์šฉํ•œ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ํ™•์žฅ

Strategy Pattern UML diagram[2]
alt text

  • Strategy Pattern์€ ์•Œ๊ณ ๋ฆฌ์ฆ˜๊ตฐ์„ ์ •์˜ํ•˜๊ณ , ๊ฐ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ encapsulizationํ•œ ํ›„, ์ด๋“ค์„ ์ƒํ˜ธ ๊ตํ™˜ ๊ฐ€๋Šฅํ•˜๊ฒŒ ๋งŒ๋“œ๋Š” behavior pattern์ž…๋‹ˆ๋‹ค.
  • Strategy Design Pattern์€ ์œ ์—ฐํ•˜๊ณ  ์žฌ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๊ฐ์ฒด ์ง€ํ–ฅ ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ์„ค๊ณ„ํ•˜๊ธฐ ์œ„ํ•ด ๋ฐ˜๋ณต๋˜๋Š” ๋””์ž์ธ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ๋ฐฉ๋ฒ•
  • "๊ฐ์ฒด๋Š” ๊ตฌํ˜„, ๋ณ€๊ฒฝ, ํ…Œ์ŠคํŠธ, ์žฌ์‚ฌ์šฉ์ด ์‰ฌ์›Œ์•ผ ํ•œ๋‹ค"์˜ ๋‚ด์šฉ์„ ํฌํ•จํ•œ 23๊ฐ€์ง€ GoF(Gang of Four) ๋””์ž์ธ ํŒจํ„ด๋“ค ์ค‘ ํ•˜๋‚˜์ž…๋‹ˆ๋‹ค.
  • P1์—์„œ ๊ตฌํ˜„๋œ EncryptWriter์™€ DecryptReader๊ฐ€ ๊ณ ์ •๋œ Ceaser ์•”ํ˜ธ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋Œ€์‹  ์‹คํ–‰ ์‹œ์ ์— (์›ํ•˜๋Š”) ์•”ํ˜ธํ™” ๋ฐฉ์‹์„ ์„ ํƒํ•  ์ˆ˜ ์žˆ๋„๋ก ์œ ์—ฐ์„ฑ์„ ๊ฐ•ํ™”ํ•˜์˜€์Šต๋‹ˆ๋‹ค.
  • Design Pattern
    • Strategy: EncryptionStrategy ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ •์˜ํ•˜๊ณ , ๋ชจ๋“  ์•”ํ˜ธํ™” ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ์ด๋ฅผ ๊ตฌํ˜„ํ•˜๋„๋ก ๊ฐ•์ œํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.
    • Concrete Strategy: CaesarCipherStrategy์™€ CaseSwapStrategy๊ฐ€ ์—ฌ๊ธฐ์— ํ•ด๋‹นํ•ฉ๋‹ˆ๋‹ค.
    • Context: EncryptWriter์™€ DecryptReader๋Š” EncryptionStrategy ๊ฐ์ฒด๋ฅผ ํ•„๋“œ๋กœ ์œ ์ง€ํ•˜๋ฉฐ, ์‹ค์ œ ์•”ํ˜ธํ™”/๋ณตํ˜ธํ™” logic์„ ์ด ๊ฐ์ฒด์— ์œ„์ž„ํ•ฉ๋‹ˆ๋‹ค.
  • ๊ด€๋ จ๋œ design principles
    1. SRP: EncryptWriter๋Š” ๋” ์ด์ƒ "๋ฐ์ดํ„ฐ ์“ฐ๊ธฐ" ์ฑ…์ž„๊ณผ "์•”ํ˜ธํ™” ์•Œ๊ณ ๋ฆฌ์ฆ˜" ์ฑ…์ž„์„ ๋™์‹œ์— ๊ฐ€์ง€์ง€ ์•Š๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ๋กœ์ง์€ Strategy class๋กœ ๋ถ„๋ฆฌ๋˜์–ด SRP๋ฅผ ๋งŒ์กฑํ•ฉ๋‹ˆ๋‹ค.
    2. OCP: ์ƒˆ๋กœ์šด ์•”ํ˜ธํ™” ๋ฐฉ์‹์ด ์ถ”๊ฐ€๋˜์–ด๋„ (like SHA or AES), Strategy ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๊ตฌํ˜„ํ•˜๋Š” ์ƒˆ๋กœ์šด class๋งŒ ์ถ”๊ฐ€ํ•˜๋ฉด ๋˜๊ณ , ํ•ต์‹ฌ class์ธ EncryptWriter์˜ ์ฝ”๋“œ๋ฅผ ์ˆ˜์ •ํ•  ํ•„์š”๊ฐ€ ์—†์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

2.3. P3: Visitor Pattern ๊ธฐ๋ฐ˜ FindVisitor ๊ตฌํ˜„

Visitor Pattern UML diagram[3]
alt text

  • Visitor Pattern์€ ๊ฐ์ฒด ๊ตฌ์กฐ(Directory ๊ตฌ์กฐ)๋ฅผ ๋ณ€๊ฒฝํ•˜์ง€ ์•Š๊ณ , ๊ตฌ์กฐ์˜ Element๋“ค์— ๋Œ€ํ•ด ์ˆ˜ํ–‰ํ•  ์ƒˆ๋กœ์šด ์—ฐ์‚ฐ(Operation)์„ ์ •์˜ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋Š” behavior pattern์ž…๋‹ˆ๋‹ค.
  • ์ ์šฉ: ํŒŒ์ผ ์‹œ์Šคํ…œ์˜ Element (File ๋ฐ Directory) class์— keyword ๊ฒ€์ƒ‰์ด๋ผ๋Š” ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.
  • Design Pattern
    • Element: Entry (File ๋ฐ Directory ์˜ ์ƒ์œ„ ์ถ”์ƒ class)๋Š” accept(Visitor v) method๋ฅผ ์ •์˜ํ•˜์—ฌ ๋ฐฉ๋ฌธ์ž๋ฅผ ๋ฐ›์•„๋“ค์ž…๋‹ˆ๋‹ค.
    • Visitor: Visitor interface๋Š” visit(File)๊ณผ visit(Directory)์™€ ๊ฐ™์ด ๊ฐ Element ์œ ํ˜•๋ณ„ ์—ฐ์‚ฐ์„ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค.
    • Concrete Visitor: FindVisitor๋Š” ์ด Visitor๋ฅผ ๊ตฌํ˜„ํ•˜์—ฌ visit method ๋‚ด์—์„œ ์ด๋ฆ„์— keyword๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ๋Š”์ง€ ๊ฒ€์‚ฌํ•˜๋Š” ๊ฒ€์ƒ‰ logic์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค. Directory๋ฅผ ๋ฐฉ๋ฌธํ•  ๋•Œ๋Š” ์žฌ๊ท€์ ์œผ๋กœ ์ž์‹ Entry์— ๋Œ€ํ•ด accept()๋ฅผ ํ˜ธ์ถœํ•˜์—ฌ ๊ตฌ์กฐ ์ „์ฒด๋ฅผ ํƒ์ƒ‰ํ•ฉ๋‹ˆ๋‹ค.
  • ๊ด€๋ จ๋œ design principles
    1. OCP: ํŒŒ์ผ๊ณผ Directory๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” Element class์— ๋ณ„๋„์˜ ์ˆ˜์ • ์—†์ด FindVisitor๋ผ๋Š” ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
      • e.g., ์ถ”ํ›„์— '์šฉ๋Ÿ‰ ๊ณ„์‚ฐ'์ด๋ผ๋Š” ๊ธฐ๋Šฅ์ด ํ•„์š”ํ•˜๊ฒŒ ๋˜์–ด๋„ SizeVisitor๋งŒ ์ถ”๊ฐ€ํ•˜๋ฉด ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค.
    2. DIP: Element class๋Š” detailํ•œ FindVisitor class๊ฐ€ ์•„๋‹Œ Visitor๋ผ๋Š” ์ถ”์ƒํ™”๋œ ์ธํ„ฐํŽ˜์ด์Šค์— ์˜์กดํ•ฉ๋‹ˆ๋‹ค.
      • ์ด๋Š” ์ƒ์œ„ ๋ชจ๋“ˆ์ด ํ•˜์œ„ ๋ชจ๋“ˆ์˜ detailํ•œ ๊ตฌํ˜„์— ์˜์กดํ•˜๋Š” ๊ฒƒ์„ ๋ฐฉ์ง€ํ•˜์—ฌ ์˜์กด์„ฑ์„ inversion์‹œํ‚ต๋‹ˆ๋‹ค.

3. Conclusion

  • Homework #1-2์—์„œ๋Š” Design Pattern์˜ ์ ์ ˆํ•œ ์‚ฌ์šฉ์„ ํ†ตํ•ด ์†Œํ”„ํŠธ์›จ์–ด ํ’ˆ์งˆ์„ ํ–ฅ์ƒ์‹œํ‚ค๋Š” ๋ฐฉ๋ฒ•์„ ๋‹ค๋ฃจ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.
  • ๊ฐ ํŒจํ„ด๋“ค์ด ์ œ๊ณตํ•œ ์žฅ์ ๋“ค
    1. Decorator Pattern & Strategy Pattern
      • Loose Coupling: I/O ์ฒ˜๋ฆฌ์™€ ์•”ํ˜ธํ™” ๋กœ์ง์„ ๋ถ„๋ฆฌํ•˜์˜€๊ณ , ์•”ํ˜ธํ™” ๋กœ์ง๊ณผ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๋ถ„๋ฆฌํ•˜์—ฌ ๊ฒฐํ•ฉ๋„๋ฅผ ์ตœ์†Œํ™”ํ–ˆ์Šต๋‹ˆ๋‹ค.
    2. Visitor Pattern
      • High Cohesion: ํŒŒ์ผ ์‹œ์Šคํ…œ ์ˆœํšŒ ๋กœ์ง๊ณผ keyword ๊ฒ€์ƒ‰ ๋กœ์ง์„ ๋ถ„๋ฆฌํ•˜์—ฌ ๊ฐ class์˜ ์‘์ง‘๋„๋ฅผ ๋†’์˜€์Šต๋‹ˆ๋‹ค.
    3. OCP/SRP/DIP ์ค€์ˆ˜
      • ์š”๊ตฌ์‚ฌํ•ญ ๋ณ€๊ฒฝ ์‹œ ๊ธฐ์กด ์ฝ”๋“œ์˜ ์ˆ˜์ • ์—†์ด ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ์„ ํ™•์žฅํ•  ์ˆ˜ ์žˆ๋Š” design์„ ํ™•๋ฆฝํ–ˆ์Šต๋‹ˆ๋‹ค.
  • ๊ฐ ํŒจํ„ด๋“ค์€ ์ƒํ˜ธ๋ณด์™„์ ์œผ๋กœ ์ž‘์šฉํ•˜์—ฌ
    1. ๋ชจ๋“ˆํ™”๋œ
    2. ์œ ์—ฐํ•œ
  • ์‹œ์Šคํ…œ์„ ๊ตฌ์ถ•ํ•˜๋Š” ๋ฐ ๊ธฐ์—ฌํ•  ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.
  • ์ด๋Ÿฌํ•œ ์ด์œ ๋กœ, ๊ตฌํ˜„ํ•œ ์ฝ”๋“œ๋“ค์€ design goal๋ฅผ ๋‹ฌ์„ฑํ•˜์˜€์œผ๋ฉฐ, design principle๋“ค์„ ์ค€์ˆ˜ํ•œ ๊ฐ์ฒด ์ง€ํ–ฅ solution์ด๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

4. Works Cited

  • [1] Wikipedia, "Decorator pattern" https://en.wikipedia.org/wiki/Decorator_pattern

  • [2] Wikipedia, "Strategy pattern" https://en.wikipedia.org/wiki/Strategy_pattern

  • [3] Wikipedia, "Visitor pattern" https://en.wikipedia.org/wiki/Visitor_pattern

์ตœ๊ทผ ์ˆ˜์ •: 26. 6. 12. ์˜คํ›„ 3:28
Contributors: kmbzn, Claude Sonnet 4.6

BUILT WITH

CloudflareNode.jsGitHubGitVue.jsJavaScriptVSCodenpm

All trademarks and logos are property of their respective owners.
ยฉ 2026 kmbzn ยท MIT License