๐Ÿ“š CS [ComputerScience]/๐Ÿ“š CS ๋ฉด์ ‘

๐Ÿ“š [CS๋ฉด์ ‘] ์›น ๋ฉด์ ‘ ์งˆ๋ฌธ [1]

Dbswnstjd 2024. 1. 6. 16:44

1.  Java

์ž๋ฐ”์˜ ํŠน์ง•

-  ์ž๋ฐ”๊ฐ€์ƒ๋จธ์‹ (JVM)๋งŒ ์„ค์น˜ํ•˜๋ฉด ์šด์˜์ฒด์ œ์— ๋…๋ฆฝ์ ์œผ๋กœ ์‹คํ–‰์ด ๊ฐ€๋Šฅํ•˜๋‹ค. 

- ๊ฐ์ฒด์ง€ํ–ฅ์–ธ์–ด์˜ ํŠน์ง•์ธ ์ƒ์†, ์บก์Šํ™”, ๋‹คํ˜•์„ฑ์ด ์ ์šฉ๋œ ์–ธ์–ด

- Garbage Collector๋ฅผ ํ†ตํ•ด ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ๋ฅผ ์ง์ ‘ ํ•˜์ง€ ์•Š์•„๋„ ๋จ

- ๋ฉ€ํ‹ฐ์“ฐ๋ ˆ๋“œ(Multi Thread)๋ฅผ ์ง€์›

 

2. OOP (Object Oriented Programming - ๊ฐ์ฒด ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ)

๊ฐ์ฒด์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์€ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ์ฒด๋กœ ์ทจ๊ธ‰ํ•˜์—ฌ ํ”„๋กœ๊ทธ๋žจ์— ๋ฐ˜์˜ํ•œ ๊ฒƒ์ด๋‹ค. ์ˆœ์ฐจ์ ์œผ๋กœ ํ”„๋กœ๊ทธ๋žจ์ด ๋™์ž‘ํ•˜๋Š” C์–ธ์–ด์™€ ๋‹ฌ๋ฆฌ ๊ฐ์ฒด์™€ ๊ฐ์ฒด์˜ ์ƒํ˜ธ์ž‘์šฉ์„ ํ†ตํ•ด ํ”„๋กœ๊ทธ๋žจ์ด ๋™์ž‘ํ•œ๋‹ค.

OOP์˜ ํŠน์ง•

- ์ฝ”๋“œ์˜ ์žฌ์‚ฌ์šฉ์„ฑ์ด ๋†’์Œ

- ์ฝ”๋“œ์˜ ๋ณ€๊ฒฝ ์šฉ์ด

- ์ง๊ด€์ ์ธ ์ฝ”๋“œ๋ถ„์„

- ๊ฐœ๋ฐœ์†๋„ ํ–ฅ์ƒ

- ์ƒ์†์„ ํ†ตํ•ด ์žฅ์  ๊ทน๋Œ€ํ™”

 

3.  Object (๊ฐ์ฒด)

object(๊ฐ์ฒด)๋Š” OOP์—์„œ ๋ฐ์ดํ„ฐ(๋ณ€์ˆ˜)์™€ ๊ทธ ๋ฐ์ดํ„ฐ์— ๊ด€๋ จ๋˜๋Š” ๋™์ž‘(ํ•จ์ˆ˜). ์ฆ‰ ์ ˆ์ฐจ, ์žฅ๋ฒ•, ๊ธฐ๋Šฅ์„ ๋ชจ๋‘ ํฌํ•จํ•œ ๊ฐœ๋…์ด๋‹ค. 

๊ฐ™์€ ์„ฑ์งˆ, ๊ฐ™์€ ๊ตฌ์กฐ์™€ ํ˜•ํƒœ๋ฅผ ๊ฐ€์ง€๋Š” ๊ฐ์ฒด๋Š” ๋“ฑ๊ธ‰์œผ๋กœ ์ •์˜ํ•˜๊ณ  ๋“ฑ๊ธ‰์— ์†ํ•˜๋Š” ๊ฐ์ฒด๋Š” ๊ทธ ๋“ฑ๊ธ‰์˜ ์ธ์Šคํ„ด์Šค๋ผ๊ณ  ํ•œ๋‹ค. 

 

4. Overloading vs Overriding

์ฒ˜์Œ ์ž๋ฐ”๋ฅผ ์ ‘ํ–ˆ์„ ๋•Œ ๊ฐ€์žฅ ํ—ท๊ฐˆ๋ ธ๋˜ ์šฉ์–ด์˜€๋‹ค. ํ•˜์ง€๋งŒ Overriding์€ Spring์˜ @Override ์–ด๋…ธํ…Œ์ด์…˜์„ ์‚ฌ์šฉํ•˜๊ธฐ ๋•Œ๋ฌธ์—  ๊ฐœ๋ฐœ์„ ํ•˜๋‹ค๋ณด๋ฉด ์‰ฝ๊ฒŒ ์ดํ•ด๊ฐ€ ๊ฐ€๋Šฅํ•˜๋‹ค. 

Overlading(์˜ค๋ฒ„๋กœ๋”ฉ)

- ๊ฐ™์€ ์ด๋ฆ„์˜ ๋ฉ”์„œ๋“œ๋ฅผ ์—ฌ๋Ÿฌ๊ฐœ ์ •์˜ ํ•˜๋Š”๊ฒƒ

- ๋งค๊ฐœ๋ณ€์ˆ˜์˜ ํƒ€์ž…์ด ๋‹ค๋ฅด๊ฑฐ๋‚˜ ๊ฐœ์ˆ˜๊ฐ€ ๋‹ค๋ฅธ ๊ฒƒ

 

Overriding(์˜ค๋ฒ„๋ผ์ด๋”ฉ)

- ์ƒ์†์—์„œ ๋‚˜์˜จ ๊ฐœ๋…

- ์ƒ์œ„ ํด๋ž˜์Šค๋ฅผ ํ•˜์œ„์—์„œ ์žฌ์ •์˜

 

5. Interface (์ธํ„ฐํŽ˜์ด์Šค)

์ธํ„ฐํŽ˜์ด์Šค๋Š” ์ž์‹ ํด๋ž˜์Šค์—์„œ ์ƒ์†๋ฐ›์•„ ์‚ฌ์šฉ๋˜๋ฏ€๋กœ ๋‹คํ˜•์„ฑ์˜ ํŠน์ง•์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค. 

- ๋‹ค์ค‘ ์ƒ์†์ด ๊ฐ€๋Šฅ- implements ํ‚ค์›Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ƒ์† - ์ธํ„ฐํŽ˜์ด์Šค ์•ˆ์—๋Š” ์ถ”์ƒ ๋ฉ”์„œ๋“œ๋งŒ ์„ ์–ธ ๊ฐ€๋Šฅ -> ์ž์‹ํด๋ž˜์Šค์—์„œ ์˜ค๋ฒ„๋ผ์ด๋”ฉํ•ด์„œ ์žฌ๊ตฌํ˜„

 

6. Servlet, JSP

Servlet - Container๊ฐ€ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๊ฒŒ ๊ตฌ์„ฑ๋œ ์ˆœ์ˆ˜ ์ž๋ฐ” ์ฝ”๋“œ๋กœ๋งŒ ์ด๋ฃจ์–ด์ง„ ๊ฒƒ (HTML in JAVA)

JSP(Java Server Page) - html ๊ธฐ๋ฐ˜์— JAVA์ฝ”๋“œ๋ฅผ ๋ธ”๋กํ™”ํ•˜์—ฌ ์‚ฝ์ž…ํ•œ ๊ฒƒ (JAVA in HTML)

Servlet๊ณผ JSP์˜ ์ฐจ์ด์ ์ด๋ผ๋ฉด ๊ธฐ๋Šฅ์ ์œผ๋กœ๋Š” ์ฐจ์ด๊ฐ€ ์—†์ง€๋งŒ ์—ญํ• ๋กœ์จ์˜ ์ฐจ์ด์ ์ด ์žˆ๋‹ค.

 

[Servlet ๋™์ž‘ ๋ฐฉ์‹] - Client๊ฐ€ request๋ฅผ ๋ณด๋‚ด๋ฉด HttpServletRequest์—์„œ ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•˜๊ณ  web.xml๊ธฐ๋ฐ˜์œผ๋กœ ์–ด๋Š ์„œ๋ธ”๋ฆฟ์— ๋Œ€ํ•œ ์š”์ฒญ์ธ์ง€ ์ฐพ๋Š”๋‹ค. ๊ทธ๋ฆฌ๊ณ  GET/POST์— ๋”ฐ๋ผ doGet(), doPost()๋ฅผ ํ˜ธ์ถœํ•œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋™์ ํŽ˜์ด์ง€๋ฅผ ์ƒ์„ฑํ•˜๊ณ  HttpServletResponse๊ฐ์ฒด์— ์‘๋‹ต์„ ๋ณด๋‚ด๊ณ  ์†Œ๋ฉธ์‹œํ‚จ๋‹ค.