CS

CS

[์ž๋ฃŒ๊ตฌ์กฐ] ๊ทธ๋ž˜ํ”„ (Graph)

๊ทธ๋ž˜ํ”„ (Graph) ๋ž€?๊ทธ๋ž˜ํ”„๋Š” ์ •์ (vertex)๊ณผ ๊ฐ„์„ (edge)๋กœ ์ด๋ฃจ์–ด์ง„ ์ž๋ฃŒ๊ตฌ์กฐํŠธ๋ฆฌ (Tree) ์™€ ๋ฌด์Šจ ์ฐจ์ด๊ฐ€ ์žˆ๋ƒ๊ณ  ์ƒ๊ฐํ•  ์ˆ˜ ์žˆ๋Š”๋ฐ,๊ทธ๋ž˜ํ”„์— ๊ฒฝ์šฐ์—๋Š” ํŠธ๋ฆฌ์™€ ๋‹ค๋ฅด๊ฒŒ ์ •์ ๋งˆ๋‹ค ๊ฐ„์„ ์ด ์—†์„ ์ˆ˜๋„ ์žˆ๊ณ  ๋ถ€๋ชจ ์ž์‹๊ฐœ๋…์ด ์กด์žฌํ•˜์ง€ ์•Š๋Š” ๋“ฑ ์ฐจ์ด์ ์ด ์กด์žฌํ•œ๋‹ค.์ง€ํ•˜์ฒ  ๋…ธ์„ ๋„ ๋“ฑ์˜ ์ตœ๋‹จ๊ฒฝ๋กœ๋ฅผ ์ฐพ๊ฑฐ๋‚˜ sns์—์„œ๋Š” ๊ณตํ†ต๋œ ์นœ๊ตฌ๋ฅผ ์ฐพ๋Š” ๋“ฑ์— ํ™œ์šฉ๋œ๋‹ค.์žฅ๋‹จ์ ์žฅ์ ๋ณต์žกํ•œ ๊ด€๊ณ„๋ฅผ ๋ชจ๋ธ๋งํ•  ์ˆ˜ ์žˆ์Œ (์†Œ์…œ ๋„คํŠธ์›Œํฌ, ๊ฒฝ๋กœ ํƒ์ƒ‰ ๋“ฑ)๋‹ค์–‘ํ•œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ํ†ตํ•ด ์ตœ๋‹จ ๊ฒฝ๋กœ, ์—ฐ๊ฒฐ์„ฑ ๋“ฑ์„ ์ฐพ์„ ์ˆ˜ ์žˆ์Œ.๋‹จ์ ๊ตฌํ˜„๊ณผ ์—ฐ์‚ฐ์ด ๋ณต์žกํ•˜๊ณ  ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ์ด ํผ.์ˆœํ™˜์ด ๋ฐœ์ƒํ•  ๊ฒฝ์šฐ ์ฒ˜๋ฆฌ๊ฐ€ ์–ด๋ ค์šธ ์ˆ˜ ์žˆ์Œ.๊ตฌํ˜„๋ฅผ ์‚ฌ์šฉํ•œ ๊ตฌํ˜„#include #include class Graph{private: int V; std::vector > adjMatri..

CS

[์ž๋ฃŒ๊ตฌ์กฐ] ํŠธ๋ฆฌ (Tree)

ํŠธ๋ฆฌ (Tree) ๋ž€?ํŠธ๋ฆฌ๋Š” ๊ณ„์ธต์ ์ธ ๊ตฌ์กฐ๋ฅผ ๊ฐ€์ง„ ์ž๋ฃŒ๊ตฌ์กฐ๋กœ, ๋ถ€๋ชจ์™€ ์ž์‹ ๋…ธ๋“œ ๊ฐ„์˜ ๊ด€๊ณ„๋ฅผ ๋‚˜ํƒ€๋‚ธ๋‹ค. ๋ฐ์ดํ„ฐ ๊ตฌ์กฐํ™”๊ฐ€ ์šฉ์ดํ•ด ํŒŒ์ผ ์‹œ์Šคํ…œ, ๊ณ„์ธต์  ๋ฐ์ดํ„ฐ ์ €์žฅ ๋“ฑ์— ์‚ฌ์šฉ ๊ฐ€๋Šฅ.์žฅ๋‹จ์ ์žฅ์ ๋ฐ์ดํ„ฐ ๊ฒ€์ƒ‰, ์‚ฝ์ž…, ์‚ญ์ œ๊ฐ€ ํšจ์œจ์  (ํŠนํžˆ ์ด์ง„ ํƒ์ƒ‰ ํŠธ๋ฆฌ์˜ ๊ฒฝ์šฐ).๋ฐ์ดํ„ฐ ๊ตฌ์กฐํ™”๊ฐ€ ์šฉ์ดํ•ด ํŒŒ์ผ ์‹œ์Šคํ…œ, ๊ณ„์ธต์  ๋ฐ์ดํ„ฐ ์ €์žฅ ๋“ฑ์— ์‚ฌ์šฉ ๊ฐ€๋Šฅ.๋‹จ์ ๊ท ํ˜•์ด ๋งž์ง€ ์•Š์„ ๊ฒฝ์šฐ ์„ฑ๋Šฅ ์ €ํ•˜ ๊ฐ€๋Šฅ.๊ตฌํ˜„์ด ๋ณต์žกํ•˜๊ณ  ๋…ธ๋“œ ์ถ”๊ฐ€ ์‹œ ๋ฉ”๋ชจ๋ฆฌ ์˜ค๋ฒ„ํ—ค๋“œ ๋ฐœ์ƒํŠธ๋ฆฌ (Tree)๋Š” ๋Œ€์ถฉ๋ณด๋ฉด ๋งํฌ๋“œ๋ฆฌ์ŠคํŠธ (Linked List)๋ž‘ ๊ตฌ์กฐ๊ฐ€ ๋น„์Šทํ•˜๋‹ค๊ณ  ์ƒ๊ฐํ• ์ˆ˜๋„ ์žˆ๋Š”๋ฐ.ํŠธ๋ฆฌ (Tree)์— ๊ฒฝ์šฐ์—๋Š” ํ•˜๋‚˜์˜ ๋ถ€๋ชจ๊ฐ€ ์—ฌ๋Ÿฌ๊ฐœ์˜ ์ž์‹์„ ๊ฐ€์ง€๊ณ  ์žˆ๊ณ , ์ตœ์ƒ์œ„์˜ ๋…ธ๋“œ์˜ ๊ฒฝ์šฐ์—๋Š” ๋ถ€๋ชจ๊ฐ€ ๋”ฐ๋กœ ์—†๋Š” ๊ตฌ์กฐ๋ฅผ ๊ฐ€์ง€๊ณ ์žˆ๋‹ค.๊ตฌํ˜„#include  ์„ ํ™œ์šฉํ•œ ๋‹ค์ค‘๊ณ„์ธต ํŠธ๋ฆฌ๊ตฌํ˜„#in..

CS

[์ž๋ฃŒ๊ตฌ์กฐ] ๋งํฌ๋“œ๋ฆฌ์ŠคํŠธ (Linked list)

๋งํฌ๋“œ๋ฆฌ์ŠคํŠธ (Linked list) ๋ž€?์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ๋Š” ๊ฐ ๋…ธ๋“œ๊ฐ€ ๋ฐ์ดํ„ฐ์™€ ๋‹ค์Œ ๋…ธ๋“œ์˜ ์ฃผ์†Œ๋ฅผ ํฌํ•จํ•˜์—ฌ ์ˆœ์ฐจ์ ์œผ๋กœ ์—ฐ๊ฒฐ๋œ ์ž๋ฃŒ๊ตฌ์กฐ๋™์ ์œผ๋กœ ํฌ๊ธฐ๋ฅผ ์กฐ์ ˆํ•  ์ˆ˜ ์žˆ๋‹ค.๊ธฐ์กด์ ์œผ๋กœ๋Š” ํ˜„์žฌ์˜ ๋…ธ๋“œ๊ฐ€ ๋‹ค์Œ ๋…ธ๋“œ๋งŒ์„ ์ฐธ์กฐํ•˜๋Š” ๋‹จ์ผ ์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ(Singly Linked List) ๋ถ€ํ„ฐ ์ด์ „ ๋…ธ๋“œ์™€ ๋‹ค์Œ ๋…ธ๋“œ ๋ชจ๋‘๋ฅผ ์ฐธ์กฐํ•˜๋Š” ์–‘๋ฐฉํ–ฅ ์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ(Doubly Linked List) ๋“ฑ์œผ๋กœ ๋‹ค์–‘ํ•˜๊ฒŒ ํ™•์žฅ์ด ์ด๋ฃจ์–ด์งˆ ์ˆ˜ ์žˆ๋‹ค.์žฅ๋‹จ์ ์žฅ์ ๋™์ ์œผ๋กœ ํฌ๊ธฐ๋ฅผ ์กฐ์ ˆํ•  ์ˆ˜ ์žˆ๋‹ค.๋ฐฐ์—ด๊ณผ ๋‹ฌ๋ฆฌ ์‚ฝ์ž… ์‚ญ์ œ์˜ ์šฉ์ดํ•˜๋‹ค.๋‹จ์ ์ž„์˜์ ์œผ๋กœ ํŠน์ • ๋ฐ์ดํ„ฐ์˜ ์ ‘๊ทผ์ด ๋ถˆ๊ฐ€๋Šฅํ•˜๋‹ค.์ถ”๊ฐ€์ ์ธ ๋ฉ”๋ชจ๋ฆฌ ๋น„์šฉ์ด ๋“ ๋‹ค. ๋‹จ์ผ ์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ(Singly Linked List)์žฅ์ :๊ฐ ๋…ธ๋“œ๊ฐ€ ๋‹ค์Œ ๋…ธ๋“œ๋งŒ์„ ์ฐธ์กฐ๋Š” next๋งŒ ๊ฐ€์ง€๊ณ  ์žˆ๊ธฐ๋•Œ๋ฌธ์— ์–‘๋ฑกํ–ฅ์— ๋น„ํ•ด ๋ฉ”๋ชจ๋ฆฌ์‚ฌ์šฉ๋Ÿ‰์ด ์ค„์–ด๋“ ๋‹ค..

CS

[์ž๋ฃŒ๊ตฌ์กฐ] ํ (Queue)

ํ (Queue) ๋ž€?ํ๋Š” FIFO(First In, First Out) ๊ตฌ์กฐ๋กœ, ๋จผ์ € ๋“ค์–ด์˜จ ๋ฐ์ดํ„ฐ๊ฐ€ ๋จผ์ € ๋‚˜๊ฐ€๋Š” ์ž๋ฃŒ๊ตฌ์กฐ์Šคํƒ๊ณผ๋Š” ๋‹ค๋ฅด๊ฒŒ ๋จผ์ €๋“ค์–ด์˜จ๊ฒƒ์ด ๋จผ์ €๋‚˜๊ฐ€๋Š” FIFO ๊ตฌ์กฐ๋ฅผ ๊ฐ€์ง€๊ณ ์žˆ๋‹ค.์žฅ๋‹จ์ ์žฅ์ ๋ฐ์ดํ„ฐ์˜ ์‚ฝ์ž…๊ณผ ์‚ญ์ œ๊ฐ€ O(1) ์‹œ๊ฐ„์œผ๋กœ ์ด๋ฃจ์–ด์ ธ ๋น ๋ฅด๊ฒŒ ์ฒ˜๋ฆฌ๊ฐ€ ๋œ๋‹ค.๋‹จ์ ์ค‘๊ฐ„๊ณผ ๋งˆ์ง€๋ง‰์— ์žˆ๋Š” ๋ฐ์ดํ„ฐ์˜ ์ ‘๊ทผํ•˜๋ ค๊ณ ํ•˜๋ฉด ๋น„ํšจ์œจ์ ์ด๋‹ค.๊ตฌํ˜„#include ์‚ฌ์šฉ#include #include using namespace std;int main(void) { queue q; q.push(1); q.push(2); q.push(3); cout  deque๋ฅผ ํ™œ์šฉํ•œ ๊ตฌํ˜„#ifndef CUSTOMQUEUE_HPP_#define CUSTOMQUEUE_HPP_#include #include template class Cu..

CS

[์ž๋ฃŒ๊ตฌ์กฐ] ์Šคํƒ (Stack)

์Šคํƒ (Stack) ์ด๋ž€?์ˆœ์„œ๊ฐ€ ๋ณด์กด๋˜๋Š” ์„ ํ˜• ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ์Šคํƒ์€ LIFO(Last In, First Out) ๊ตฌ์กฐ๋กœ, ๋งˆ์ง€๋ง‰์— ๋“ค์–ด๊ฐ„ ๋ฐ์ดํ„ฐ๊ฐ€ ๊ฐ€์žฅ ๋จผ์ € ๋‚˜์˜ค๋Š” ์ž๋ฃŒ๊ตฌ์กฐ๋ฅผ ์ด์•ผ๊ธฐํ•œ๋‹ค.์Œ“์ธ ์ ‘์‹œ๋‚˜ ํ•˜๋…ธ์ด ํƒ‘์„ ์˜ˆ์‹œ๋กœ ์ƒ๊ฐํ•˜๋ฉด ๋œ๋‹ค.์žฅ๋‹จ์ ์žฅ์ ๋ฐ์ดํ„ฐ์˜ ์‚ฝ์ž…๊ณผ ์‚ญ์ œ๊ฐ€ O(1) ์‹œ๊ฐ„์œผ๋กœ ์ด๋ฃจ์–ด์ ธ ๋น ๋ฅด๊ฒŒ ์ฒ˜๋ฆฌ๊ฐ€ ๋œ๋‹ค.๋‹จ์ ์ค‘๊ฐ„๊ณผ ๋งˆ์ง€๋ง‰์— ์žˆ๋Š” ๋ฐ์ดํ„ฐ์˜ ์ ‘๊ทผํ•˜๋ ค๊ณ ํ•˜๋ฉด ๋น„ํšจ์œจ์ ์ด๋‹ค.๊ตฌํ˜„#include ์‚ฌ์šฉ#include #include using namespace std;int main(void) { stack s; s.push(1); s.push(2); s.push(3); cout  ์ •์ ํ• ๋‹น ๋ฐฉ์‹์œผ๋กœ ๊ตฌํ˜„#ifndef CUSTOMSTACK_HPP#define CUSTOMSTACK_HPP#define MAX_SIZE ..

CS

[์ž๋ฃŒ๊ตฌ์กฐ] ๋ฐฐ์—ด (Array)

๋ฐฐ์—ด (Array)์ด๋ž€?๊ฐ€์žฅ ๊ธฐ๋ณธ์ ์ธ ๋ฐ์ดํ„ฐ๊ตฌ์กฐ๋ฅผ ์ด์•ผ๊ธฐํ•œ๋‹ค.๋™์ผํ•œ ํƒ€์ž…์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์—ฐ์†์ ์ธ ๋ฉ”๋ชจ๋ฆฌ ์œ„์น˜์— ์ €์žฅํ•œ๋‹ค.์žฅ๋‹จ์ ์žฅ์ ์ธ๋ฑ์Šค๋ฅผ ํ†ตํ•ด ๊ฐ ์š”์†Œ์— O(1) ์‹œ๊ฐ„์— ์ ‘๊ทผ ๊ฐ€๋Šฅํ•˜๋‹ค.๊ตฌํ˜„์ด ๊ฐ„๋‹จํ•˜๊ณ  ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ์ด ํšจ์œจ์ ์ด๋‹ค.๋‹จ์ ํฌ๊ธฐ๊ฐ€ ๊ณ ์ •๋˜์–ด์žˆ๊ธฐ๋•Œ๋ฌธ์— ํฌ๊ธฐ๋ฅผ ๋ณ€๊ฒฝํ•˜๊ธฐ์œ„ํ•ด์„œ๋Š” ์ƒˆ๋กœ์šด ๋ฐฐ์—ด์„ ์ƒ์„ฑํ•ด์•ผํ•œ๋‹ค.์ค‘๊ฐ„์— ์š”์†Œ๋ฅผ ์‚ฝ์ž…ํ•˜๊ฑฐ๋‚˜ ์‚ญ์ œํ•  ๊ฒฝ์šฐ์—๋Š” ํ•ด๋‹น ์š”์†Œ ์ด์™ธ์˜ ๋ชจ๋“  ์š”์†Œ๋ฅผ ์ด๋™ํ•ด์•ผํ•˜๋ฏ€๋กœ ๋น„ํšจ์œจ์ ์ด๋‹ค.๊ตฌํ˜„#include int main(void) { // stack int number[5] = {1, 2, 3, 4, 5}; char s[5] = {'a', 'b', 'c', 'd', 'e'}; // heap int* arr = new int[5]; arr[0] = 1; arr[1] = 2; delete arr..

CS

[์ž๋ฃŒ๊ตฌ์กฐ] ์ž๋ฃŒ๊ตฌ์กฐ (data structure)

์ž๋ฃŒ๊ตฌ์กฐ๋ž€? ๋ฐ์ดํ„ฐ๋ฅผ ํšจ์œจ์ ์œผ๋กœ ์ €์žฅํ•˜๊ณ  ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•œ ๊ตฌ์กฐ๋ฐ์ดํ„ฐ๋ฅผ ์–ด๋–ป๊ฒŒ ์กฐ์งํ•˜๊ณ  ์ €์žฅํ•˜๋А๋ƒ์— ๋”ฐ๋ผ ๊ฒ€์ƒ‰, ์‚ฝ์ž…, ์‚ญ์ œ ๋“ฑ์˜ ์ž‘์—…์ด ๋” ๋น ๋ฅด๊ณ  ๊ฐ„๋‹จํ•˜๊ฒŒ ์ด๋ฃจ์–ด์งˆ ์ˆ˜ ์žˆ๋‹ค.์ž๋ฃŒ๊ตฌ์กฐ๋Š” ํŠน์ • ์ƒํ™ฉ์—์„œ ๋” ํšจ์œจ์ ์ธ ์„ฑ๋Šฅ์„ ๋ณด์ด๋ฉฐ, ๊ฐœ๋ฐœ์ž๋Š” ๋ฌธ์ œ์— ๋งž๋Š” ์ž๋ฃŒ๊ตฌ์กฐ๋ฅผ ์„ ํƒํ•ด ์„ฑ๋Šฅ์„ ์ตœ์ ํ™”ํ•  ์ˆ˜ ์žˆ๋‹ค. ๊ตฌํ˜„ ๋ฐ ์„ธ๋ถ€๋‚ด์šฉ 1. Array. [์ž๋ฃŒ๊ตฌ์กฐ] ๋ฐฐ์—ด (Array)๋ฐฐ์—ด์ด๋ž€?๊ฐ€์žฅ ๊ธฐ๋ณธ์ ์ธ ๋ฐ์ดํ„ฐ๊ตฌ์กฐ๋ฅผ ์ด์•ผ๊ธฐํ•œ๋‹ค.๋™์ผํ•œ ํƒ€์ž…์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์—ฐ์†์ ์ธ ๋ฉ”๋ชจ๋ฆฌ ์œ„์น˜์— ์ €์žฅํ•œ๋‹ค.์žฅ๋‹จ์ ์žฅ์ ์ธ๋ฑ์Šค๋ฅผ ํ†ตํ•ด ๊ฐ ์š”์†Œ์— O(1) ์‹œ๊ฐ„์— ์ ‘๊ทผ ๊ฐ€๋Šฅํ•˜๋‹ค.๊ตฌํ˜„์ด ๊ฐ„๋‹จํ•˜๊ณ jun-13.tistory.com 2. Linked list. [์ž๋ฃŒ๊ตฌ์กฐ] ๋งํฌ๋“œ๋ฆฌ์ŠคํŠธ (Linked list)๋งํฌ๋“œ๋ฆฌ์ŠคํŠธ (Linked list) ๋ž€?์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ๋Š” ๊ฐ ๋…ธ๋“œ..

CS

ํ”„๋ ˆ์ž„์›Œํฌ์™€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ

ํ”„๋ ˆ์ž„์›Œํฌ๋ž€ ๋ฌด์—‡์ด๊ณ  ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ž€ ๋ฌด์—‡์ธ๊ฐ€? ํ”„๋ ˆ์ž„ ์›Œํฌ ํ”ํžˆ ์‚ฌ๋žŒ๋“ค์ด ๋งŽ์ด ์ด์•ผ๊ธฐํ•˜๋Š” Spring, Django, React ๊ฐ™์ด ์ด๋ฏธ ์ •ํ•ด์ง„ ๊ตฌ์กฐ๊ฐ€ ์žˆ์–ด์„œ ๊ทธ ๊ตฌ์กฐ ์ž์ฒด๋ฅผ ๋ฐ”๊ฟ€ ์ˆ˜๋Š” ์—†๊ณ  ์ •ํ•ด์ง„ ๊ตฌ์กฐ์— ์ˆœ์‘ํ•˜๋ฉฐ ๋”ฐ๋ผ๊ฐ€๋Š” ๋ฐฉ์‹์„ ์ด์•ผ๊ธฐํ•œ๋‹ค. ๊ทธ๋ž˜์„œ ํ”„๋ ˆ์ž„์›Œํฌ๊ฐ€ ์ œ๊ณตํ•˜๋Š” ํ‹€์— ๋”ฐ๋ผ์„œ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•ด์•ผํ•˜๋‹ค๋ณด๋‹ˆ ํ†ต์ œ๊ถŒ์ด ์‚ฌ์šฉ์ž์—๊ฒŒ ์žˆ์ง€์•Š๊ณ  ํ”„๋ ˆ์ž„ ์›Œํฌ๊ฐ€ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค๊ณ  ์ด์•ผ๊ธฐ ํ•œ๋‹ค. ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๊ฐœ๋ฐœ์ž๊ฐ€ ์ง์ ‘ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•ด์„œ ๋งŒ๋“œ๋Š” class๊ฐ™์€ ๊ฒƒ๋“ค์„ ์ด์•ผ๊ธฐํ•œ๋‹ค๊ณ ํ•œ๋‹ค. ์ƒํ™ฉ์— ๋”ฐ๋ผ์„œ ์–ด๋–ค ์ƒํ™ฉ์— ์–ด๋– ํ•œ class๋ฅผ ์‚ฌ์šฉํ•  ๊ฒƒ์ธ์ง€ ๋“ฑ ์‚ฌ์šฉ์ž์˜ ๋งˆ์Œ๋Œ€๋กœ ์ขŒ์ง€์šฐ์ง€ํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ํ†ต์ œ๊ถŒ์ด ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์—๊ฒŒ ์žˆ์ง€์•Š๊ณ  ์‚ฌ์šฉ์ž๊ฐ€ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค๊ณ  ์ด์•ผ๊ธฐํ•œ๋‹ค. ํ”„๋ ˆ์ž„์›Œํฌ์™€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์˜ ์ฐจ์ด์  “์ œ์–ดํ๋ฆ„์„ ๋ˆ„๊ฐ€ ๊ฐ€์ง€๊ณ  ์žˆ๋Š”๊ฐ€”๋กœ ..

CS

[Java] SOLID

์ข‹์€ ๊ฐ์ฒด ์ง€ํ–ฅ ์„ค๊ณ„์˜ 5๊ฐ€์ง€ ์›์น™ SOLID SRC: ๋‹จ์ผ ์ฑ…์ž„ ์›์น™ ํ•œ ํด๋ž˜์Šค๋Š” ํ•˜๋‚˜์˜ ์ฑ…์ž„๋งŒ ๊ฐ€์ ธ์•ผํ•œ๋‹ค. ๋ณ€๊ฒฝ์ด ์žˆ์„ ๋•Œ ํŒŒ๊ธ‰ ํšจ๊ณผ๊ฐ€ ์ ์œผ๋ฉด ๋‹จ์ผ ์ฑ…์ž„ ์›์น™์„ ์ž˜ ๋”ฐ๋ฅธ ๊ฒƒ ( UI ๋ณ€๊ฒฝ, ๊ฐ์ฒด์˜ ์ƒ์„ฑ๊ณผ ์‚ฌ์šฉ์„ ๋ถ„๋ฆฌ ๋“ฑ ) OCP: ๊ฐœ๋ฐฉ-ํ์‡„ ์›์น™ ์†Œํ”„ํŠธ์›จ์–ด ์š”์†Œ๋Š” ํ™•์žฅ์—๋Š” ์—ด๋ ค์žˆ์œผ๋‚˜ ๋ณ€๊ฒฝ์—๋Š” ๋‹ซํ˜€ ์žˆ์–ด์•ผํ•œ๋‹ค. ๋‹คํ˜•์„ฑ์„ ํ™œ์šฉํ•˜๋ฉด ํ™•์žฅ์—๋Š” ์—ด๋ ค์žˆ์œผ๋‚˜ ๋ณ€๊ฒฝ์—๋Š” ๋‹ซํ˜€์žˆ๊ฒŒ ํ•  ์ˆ˜ ์žˆ๋‹ค. ์œ„์— ๊ทธ๋ฆผ๊ณผ ๊ฐ™์€ ๊ฐœ๋…์„ ์ด์•ผ๊ธฐํ•œ๋‹ค. OCP๋ฅผ ์ง€ํ‚ค๊ธฐ์œ„ํ•ด์„œ๋Š” ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•˜๊ณ , ์—ฐ๊ด€๊ด€๊ณ„๋ฅผ ๋งบ์–ด์ฃผ๋Š” ๋ณ„๋„์˜ ์กฐ๋ฆฝ, ์„ค์ •์ž๊ฐ€ ํ•„์š”ํ•˜๋‹ค. LSP: ๋ฆฌ์Šค์ฝ”ํ”„ ์น˜ํ™˜ ์›์น™ ํ”„๋กœ๊ทธ๋žจ์˜ ๊ฐ์ฒด๋Š” ํ”„๋กœ๊ทธ๋žจ์˜ ์ •ํ™•์„ฑ์„ ๊นจ๋œจ๋ฆฌ์ง€ ์•Š์œผ๋ฉด์„œ ํ•˜์œ„ ํƒ€์ž…์˜ ์ธ์Šคํ„ด์Šค๋กœ ๋ฐ”๊ฟ€ ์ˆ˜ ์žˆ์–ด์•ผํ•œ๋‹ค. ํ•˜์œ„ํด๋ž˜์Šค๋Š” ์ƒ์œ„ ์ธํ„ฐํŽ˜์ด์Šค์˜ ๊ทœ์•ฝ์„ ๋‹ค ์ง€์ผœ์•ผํ•œ๋‹ค. ISP: ์ธ..

moaoh
'CS' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๊ธ€ ๋ชฉ๋ก (2 Page)