์๋ฐ ํน์ง - JVM(Java Virtual Machine)
JVM - ์์คํ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๊ด๋ฆฌํ๋ฉด์ ์๋ฐ ๊ธฐ๋ฐ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ํด ์ด์ ๊ฐ๋ฅํ ์คํํ๊ฒฝ์ ์ ๊ณตํ๋ค.
โ ์ด๋ ์ด์์ฒด์ ์์์๋ ์คํ๋ ์ ์๊ฒ ํ๋ค. ์ด์์ฒด์ ์ ๋ ๋ฆฝ์ ์ด๋ค. ์ด์์ฑ์ด ๋๋ค.
โ GC(Garbage Collection)์ ํตํด ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์๋์ผ๋ก ๊ด๋ฆฌํ๋ค.
โ JVM์ ์๋ฐ ํ๋ก๊ทธ๋จ์ ์คํํ๋ ๋ฐฉ๋ฒ์ด๋ค.
OOP(Object-Oriented Programming) - ๊ฐ์ฒด์งํฅ ํ๋ก๊ทธ๋๋ฐ
๋ฐ์ดํฐ๋ฅผ ๊ฐ์ฒด๋ก ์ทจ๊ธํ์ฌ ํ๋ก๊ทธ๋จ์ ๋ฐ์ํ ๊ฒ, ์ธ๊ฐ์ ์ฌ๊ณ ์ ๋น์ทํ ์ ๊ทผ.
๊ฐ์ฒด์ ๊ฐ์ฒด์ ์ํธ์์ฉ์ ํตํด ํ๋ก๊ทธ๋จ์ด ๋์ํ๋ ๊ฒ์ ๋งํ๋ค.
โ ์ฝ๋์ ์ฌ์ฌ์ฉ์ฑ์ด ๋๋ค.
โ ์ง๊ด์ ์ธ ์ฝ๋ ๋ถ์์ด ๊ฐ๋ฅํ๋ค.
โ ๊ฐ๋ฐ ์๋๊ฐ ํฅ์๋๋ค.
๋คํ์ฑ
ํ๋์ ์ง์์ ๋ํด ๊ฐ์ฒด๊ฐ ๊ฐ์ ๋ค๋ฅธ ํ์๋ฅผ ์ํํ๋ ๊ฒ.
๊ฐ์ ์ฝ๋์์ ์ฌ๋ฌ ์คํ ๊ฒฐ๊ณผ๊ฐ ๋์จ๋ค.
์ค๋ฒ๋ก๋ฉ(Overloading)
ํ ํด๋์ค์์ ๋งค๊ฐ๋ณ์์ ๊ฐ์์ ์๋ฃํ์ ๋ค๋ฅด๊ฒ ์ค์ ํ์ฌ ๊ฐ์ ์ด๋ฆ์ ๋ฉ์๋๋ฅผ ์ฌ๋ฌ๊ฐ ๊ฐ์ง ์
์๊ฒ ํ๋๊ธฐ์ .
e.g) void plus(int a, int b) /// void plus(double a, double b)
-> ๋ฉ์๋ ์ด๋ฆ์ ๋์ผํ์ง๋ง ๋งค๊ฐ๋ณ์์ ์๋ฃํ์ด ๋ค๋ฆ.
์ค๋ฒ๋ผ์ด๋ฉ(Overriding)
overwrite(๋ฎ์ด์ฐ๋ค ์๊ฐ), ๋ฌดํจํ ์ํค๋ค
๋ถ๋ชจ ํด๋์ค์๊ฒ ์์๋ฐ์ ๋ฉ์๋๋ฅผ ์์ ํด๋์ค์์ ๋ค์ ์ฌ์ ์ ํ๋ ๊ฒ.
๋ฉ์๋์ ์ด๋ฆ, ๋ฐํํ, ๋งค๊ฐ๋ณ์ ๊ฐ ๊ฐ์์ผ '๋ฉ์๋ ์ค๋ฒ๋ผ์ด๋ฉ'์ด ์ฑ๋ฆฝํ๋ค.
์์
๊ธฐ์กด ํด๋์ค์ ๋ฉ์๋์ ๋ณ์๋ฅผ ์ถ๊ฐํ์ฌ ์๋ก์ด ํด๋์ค๋ฅผ ์ ์ํ๋ ๊ฒ.
์ฐ๊ด๋ ํด๋์ค๋ค์ ๋ํด ๊ณตํต์ ์ธ ๊ท์ฝ์ ์ ์ํ ์ ์๋ค.
๋ถ๋ชจํด๋์ค + ์์ํด๋์ค -> ์ฝ๋ ์ค๋ณต์ ์ค์ธ๋ค.
GET / POST ๋ฐฉ์
HTTP ํ๋กํ ์ฝ์ด ์ ๊ณตํด์ฃผ๋ ๋ฉ์๋, ํด๋ผ์ด์ธํธ๊ฐ ์๋ฒ๋ก ์์ฒญ์ ๋ณด๋ด๋ ๋ฐฉ๋ฒ
โ GET์ ์น ๋ธ๋ผ์ฐ์ ๊ฐ ์น ์๋ฒ์ ๋ฐ์ดํฐ๋ฅผ ์์ฒญํ ๋ ์ฌ์ฉํ๋ฉฐ ์ฃผ์์ฐฝ์ ๊ธฐ๋ก์ด ๋จ๋๋ค.
- e.g) www.naver.com?id=aaa&password=1234
- URL ๋ค์ ๋ฐ์ดํฐ๋ฅผ Key, Value ์์ผ๋ก ๋ฃ์ด์ ๋ณด๋ธ๋ค.
- ๋ณด์์ ์ทจ์ฝํ๋ค.(URL์ ๋ฐ์ดํฐ๊ฐ ๋ ธ์ถ๋์ด ์๊ธฐ ๋๋ฌธ)
- ์ ์กํ๋ ๊ธธ์ด์ ์ ํ์ด ์๋ค.
โ POST๋ ์น ๋ธ๋ผ์ฐ์ ๊ฐ ์น ์๋ฒ์ ๋ฐ์ดํฐ๋ฅผ ์ ๋ฌํ ๋ ์ฌ์ฉํ๋ฉฐ ์ฃผ์์ฐฝ์ ๊ธฐ๋ก์ด ๋จ์ง ์๋๋ค.
- Body์ ๋ฐ์ดํฐ๋ฅผ ํฌํจ์ํจ๋ค.
- Get๋ฐฉ์ ๋ณด๋ค๋ ๋ณด์์ ๊ฐ๋ ฅํจ.
- ์ ์กํ๋ ๊ธธ์ด์ ์ ํ์ด ์๋ค.
โ GET ๋ฐฉ์์ด POST ๋ฐฉ์๋ณด๋ค ๋น ๋ฅด๋ค.
-> GET๋ฐฉ์์ ์์ฒญ์ ์บ์ฑ๋๋ฌธ์ ๋น ๋ฅด๋ค.
* ์บ์ฑ์ด๋
ํ๋ฒ ์ ๊ทผ ํ, ๋ ์์ฒญํ ์ ๋น ๋ฅด๊ฒ ์ ๊ทผํ๊ธฐ ์ํด ๋ ์ง์คํฐ์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅ์์ผ ๋๋ ๋ฐฉ๋ฒ.
์ฟ ํค / ์ธ์ / ์บ์
โ ์ฟ ํค
- ํด๋ผ์ด์ธํธ์ ๋ธ๋ผ์ฐ์ ์ ์ ์ฅ์ด ๋๋ค. ๋ณด์์ฑ X
- ์ฌ์ฉ์์ ํธ์๋ฅผ ์ํ๋, ์ง์์ง๊ฑฐ๋ ์กฐ์๋๊ฑฐ๋ ๊ฐ๋ก์ฑ์ด๋๋ผ๋ ํฐ ์ผ์ ์์ ์์ค์ ์ ๋ณด๋ค์ ๋ธ๋ผ
์ฐ์ ธ์ ์ ์ฅํ๋๋ฐ ์ฌ์ฉ๋จ.
- e.g) ๋ก๊ทธ์ธ์ฐฝ์ ์์ด๋๋ฅผ ์๋์์ฑ
- e.g) ์ผํ๋ชฐ ์ฌ์ดํธ์์ ๋ก๊ทธ์ธ ์ ํ ์ํ๋ก ์ฅ๋ฐ๊ตฌ๋ ๋ด๊ธฐ ๋ฑ
- e.g) ์๋๋ก๊ทธ์ธ, ํ์ ์์ "์ค๋ ๋ ์ด์ ์ด ์ฐฝ์ ๋ณด์ง ์์" ์ฒดํฌ,
โ ์ธ์
- ์๋ฒ์ ์ ์ฅ๋๋ ์ฟ ํค.
- ์ฌ์ฉ์๋ ๋ค๋ฅธ ๋๊ตฐ๊ฐ์๊ฒ ๋ ธ์ถ๋์ด์๋ ์๋๋ ์๋น์ค ์ ๊ณต์๊ฐ ์ง์ ๊ด๋ฆฌํด์ผ ํ ์ ๋ณด๋ค์ ์ธ์ ์ผ
๋ก ์๋ฒ ์์์ ๋ค๋ฃจ์ด์ง๋ค.
- e.g) ๋ก๊ทธ์ธ ๊ฐ์ด ๋ณด์์ ์ค์ํ ์์ ์ ์ํํ ๋ ์ฌ์ฉ
* ์ฟ ํค์ ์ธ์ ์ ๊ฐ์ฅ ํฐ ์ฐจ์ด์ ์ ์ฌ์ฉ์์ ์ ๋ณด๊ฐ ์ ์ฅ๋๋ ์์น๊ฐ ๋ค๋ฅด๋ค.
- ์ฟ ํค -> ํด๋ผ์ด์ธํธ , ์ธ์ -> ์๋ฒ
โ ์บ์
- ๊ฐ์ ธ์ค๋๋ฐ ๋น์ฉ์ด ๋๋ ๋ฐ์ดํฐ๋ฅผ ํ ๋ฒ ๊ฐ์ ธ์จ ๋ค์๋ ์์๋ก ์ ์ฅํด๋๋ ๊ฒ์ ๋งํ๋ค.
- ์น์บ์๋ ์ด๋ฏธ์ง(css. js)๋ฑ์ ์ ๋ณด๋ฅผ ๋ถ๋ฌ์ฌ ๋ ๋ฐ์ดํฐ ์ฌ์ฉ๋๋ ๋ฐ์ํ๊ณ ์๊ฐ๋ ๋ค๊ธฐ ๋๋ฌธ์ ์ฌ์ฉ์
๊ฐ ์ฌ๋ฌ ๋ฒ ๋ฐฉ๋ฌธํ ๋ฒํ ์ฌ์ดํธ์์๋ ํ ๋ฒ ๋ฐ์์จ ๋ฐ์ดํฐ๋ฅผ ์ฌ์ฉ์์ ์ปดํจํฐ ๋ฐ ์๋ฒ์ ์ ์ฅํด ๋๋ค.
REST API
๊ฐ ์์ฒญ์ด ์ด๋ค ๋์์ด๋ ์ ๋ณด๋ฅผ ์ํ ๊ฒ์ธ์ง๋ฅผ ๊ทธ ์์ฒญ์ ๋ชจ์ต ์์ฒด๋ก ์ถ๋ก ์ด ๊ฐ๋ฅํ๋ค.
RESTfulํ๊ฒ ๋ง๋ API๋ ์์ฒญ์ ๋ณด๋ด๋ ์ฃผ์๋ง์ผ๋ก๋ ๋๋ต ๋ฌด์จ ์ ๋ณด์ธ์ง ํ์ ์ด ๊ฐ๋ฅํ๋ค.
์๋ฒ์ REST API๋ก ์์ฒญ์ ๋ณด๋ผ๋๋ HTTP๋ ๊ท์ฝ์ ๋ฐ๋ผ ์ ํธ๋ฅผ ์ ์กํ๋ค.
HTTP ์์ฒญ์ ๋ณด๋ผ๋ ์ด๋ค URI์ ์ด๋ค ๋ฉ์๋๋ฅผ ์ฌ์ฉํ ์ง ๊ฐ๋ฐ์๋ค ์ฌ์ด์ ๋๋ฆฌ ์ง์ผ์ง๋ ์ฝ์.
* HTTP(HyperText Transfer Protocol)
- ์ธํฐ๋ท์์, ์น ์๋ฒ์ ์ฌ์ฉ์์ ์ธํฐ๋ท ๋ธ๋ผ์ฐ์ ์ฌ์ด์ ๋ฌธ์๋ฅผ ์ ์กํ๊ธฐ ์ํด ์ฌ์ฉ๋๋ ํต์ ๊ท์ฝ์ ๋งํ๋ค.
API(Application Programming Interface)
์ํํธ์จ์ด๊ฐ ๋ค๋ฅธ ์ํํธ์จ์ด๋ก๋ถํฐ ์ง์ ๋ ํ์์ผ๋ก ์์ฒญ / ๋ช ๋ น์ ๋ฐ์ ์ ์๋ ์๋จ
ํ๋ก๊ทธ๋จ๋ค์ด ์๋ก ์๋ก ์ํธ์์ฉ ํ๋ ๊ฒ์ ๋์์ฃผ๋ ๋งค๊ฐ์ฒด
ํ๋ ์์ํฌ
ํ๋ ์์ํฌ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๋ฌ๋ฆฌ ์ดํ๋ฆฌ์ผ์ด์ ์ ํ๊ณผ ๊ตฌ์กฐ๋ฅผ ๊ฒฐ์ ํ ๋ฟ ์๋๋ผ, ๊ทธ ์์ ๊ฐ๋ฐ๋ ๊ฐ๋ฐ์์ ์ฝ๋๋ฅผ ์ ์ดํ๋ค. ํ๋ ์์ํฌ๋ ๊ตฌ์ฒด์ ์ด๋ฉฐ ํ์ฅ ๊ฐ๋ฅํ ๊ธฐ๋ฐ ์ฝ๋๋ฅผ ๊ฐ์ง๊ณ ์์ผ๋ฉฐ, ์ค๊ณ์๊ฐ ์๋ํ๋ ์ฌ๋ฌ ๋์์ธ ํจํด์ ์งํฉ์ผ๋ก ๊ตฌ์ฑ๋์ด ์๋ค.
ํน์ ํ๋ก๊ทธ๋จ์ ๊ฐ๋ฐํ๊ธฐ ์ํ ์ฌ๋ฌ ์์๋ค๊ณผ ๋ฉ๋ด์ผ์ธ ๋ฃฐ์ ์ ๊ณตํ๋ ํ๋ก๊ทธ๋จ
๋ผ์ด๋ธ๋ฌ๋ฆฌ
ํด๋์ค๋ ํจ์์ ์งํฉ, ๊ฐ๋ฐ์ ํ๋ฉฐ ํ์ํ ๊ธฐ๋ฅ๋ค์ด๋ ๋ฐ๋ณต์ ์ผ๋ก ์ฌ์ฉ๋๋ ํจ์๋ค์ ๋งค๋ฒ ๊ฐ๋ฐ์๊ฐ ์ฝ๋ฉ์ ํ๋ ๊ฒ์ด ์๋ ๋ฏธ๋ฆฌ ๋ง๋ ํจ์๋ ํด๋์ค๋ฅผ ์ด๋๊ฐ์ ์ ์ฅํด๋๊ณ ํธ๋ฆฌํ๊ฒ ์ฌ์ฉํ ์ ์๋ ๊ฒ
์ํํธ์จ์ด๋ฅผ ๊ฐ๋ฐํ๊ธฐ ์ฝ๊ฒ ์ด๋ค ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ ๋๊ตฌ๋ค
(๋๊ตฌ - ํด๋์ค, ํจ์, ๋ฐ๋ณต์ ์ธ ๊ธฐ๋ฅ๋ค)
SM(System Management) / SI(System Integration)
SM
- ํ์ฌ ์ด์์ค์ธ ์์คํ ์ ์ ์ง๋ณด์, ์ถ๊ฐ๊ฐ๋ฐ, ๊ธฐ๋ฅ๊ฐ์ ๋ฑ์ ํ๋ ์์
SI
- ์ ์ฐ ์์คํ ์ ํ์๋ก ํ๋ ๊ณณ์ผ๋ก๋ถํฐ ํ์ฒญ์ ๋ฐ์์ ์์คํ ์ ๊ธฐํ, ๊ฐ๋ฐ, ์ ์ง๋ณด์, ์ด์ ๋ฑ์ ๋์
ํด์ฃผ๋ ์ ์ข ์ด๋ค.
- ์์คํ ๊ตฌ์ฑ ์์๋ค์ ์์ฐจ์ ์ผ๋ก ๊ฒฐํฉํ์ฌ ํ๋์ ์ ์ฒด ์์คํ ์ ๊ตฌ์ถํ๋ ๊ณผ์
Static ๋ณ์(ํด๋์ค ๋ณ์)
ํด๋์ค์ ๋ชจ๋ ์ธ์คํด์ค๊ฐ ๊ณต์ ํ๋ ๋ณ์.
ํด๋์ค ๋ณ์๋ ์ธ์คํด์ค ์์ฑ ์ด์ ์ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ์กด์ฌํ๋ค.
* ๊ฐ๋ตํ๊ฒ ์ ๋ฆฌํ ๋ด์ฉ์ด๊ณ , ํ๋ฆฐ ๋ด์ฉ์ด ์์ ์๋ ์์ต๋๋ค.
References
- REST API
- ํ๋ ์์ํฌ, ๋ผ์ด๋ธ๋ฌ๋ฆฌ
https://engkimbs.tistory.com/673
- ํ๋ ์์ํฌ, ๋ผ์ด๋ธ๋ฌ๋ฆฌ
https://blog.naver.com/hotzzang2004/221475468062
https://blog.naver.com/cjhol2107/221766719219
- Java ๊ด๋ จ ๋ด์ฉ
http://www.itworld.co.kr/news/110837
- JVM
์ค์ฑ์ฐ์ ์ดํ Java ํ๋ก๊ทธ๋๋ฐ
https://mangkyu.tistory.com/17
- Get / Post
- ์ฟ ํค / ์ธ์ / ์บ์
'Algorithm' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฐฑ์ค] 5567๋ฒ: ๊ฒฐํผ์(๊ทธ๋ํ, ๊ตฌํ) (0) | 2020.03.26 |
---|---|
[Codeforces] 1167A: Telephone Number (0) | 2020.03.26 |
Java ๊ด๋ จ ๋ฉด์ ์ค๋น 1 (2) | 2020.03.26 |
ํ๋ก๊ทธ๋๋จธ์ค[Java] - (Level2)์ ๋ง๋๊ธฐ(์คํ/ํ) (0) | 2020.03.25 |
[๋ฐฑ์ค] 1966๋ฒ: ํ๋ฆฐํฐ ํ(๊ตฌํ, ํ) (0) | 2020.03.24 |
๋๊ธ