'๋ฐฑ์๋(Back-End) ๊ฐ๋ฐ/Java' ์นดํ
๊ณ ๋ฆฌ์ ๊ธ ๋ชฉ๋ก (3 Page)
DEVELOPER / DBA ๐ฑ
๋ฐฑ์๋(Back-End) ๊ฐ๋ฐ/Java
์คํํฑ (static) ์ด๋?
2025.01.19
static : ์ ์ , ๊ณ ์ ๋ ์ด๋ ์๋ฏธ์๋ฐ์์์ static ํค์๋๋? ํด๋์ค, ์ ์ ๋ฉค๋ฒ => static ๋ณ์, static ๋ฉ์๋ Static์ ํน์ง- ๋ฉ๋ชจ๋ฆฌ์ ๊ณ ์ ์ ์ผ๋ก ํ ๋น- ๊ฐ์ฒด ์์ฑ ์์ด ์ฌ์ฉ ๊ฐ๋ฅ - static ๋ฉ์๋ ๋ด์์๋ ์ธ์คํด์ค ๋ณ์ ์ฌ์ฉ ๋ถ๊ฐ- ํ๋ฒ ๋ฉ๋ชจ๋ฆฌ์ ์ฌ๋ผ๊ฐ๋ฉด ๋ฉ๋ชจ๋ฆฌ์ static ์์ญ์ ์ ์ฌ๋๊ณ , ํ๋ก๊ทธ๋จ์ด ์ข
๋ฃ๋ ๋ ํด์ ๋จ => GC๊ฐ ํํฐ๋ง ํ์ง ๋ชปํจ public class Ex { public void test() { System.out.println("์ถ๋ ฅ๋ ๊น?"); } public static void main() { // test(); // ๋ฉ์ธ์ง ์ถ๋ ฅ๋์ง ์๊ณ , ์ปดํ์ผ ์๋ฌ ๋ฐ์! }} => ์ปดํ์ผ ์๋ฌ ๋ฐ์ ์ด์ ..

๋ฐฑ์๋(Back-End) ๊ฐ๋ฐ/Java
๊ธฐ๋ณธํ ๋ณ์ vs ์ฐธ์กฐํ ๋ณ์
2025.01.19
๋ณ์๋?: ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๊ธฐ ์ํด ํ ๋น๋ฐ์ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ๋ฐ์ดํฐํ์
(์๋ฃํ) ์ด๋?: ์ ์ฌํ ๋ฐ์ดํฐ ๋ฉ๋ชจ๋ฆฌ๊ฐ ์ด๋ป๊ฒ ์ ์ฅ๋๊ณ , ํ๋ก๊ทธ๋จ์์ ์ด๋ป๊ฒ ์ฒ๋ฆฌ๋์ด์ผ ํ๋์ง ๋ช
์์ ์ผ๋ก ์๋ ค์ฃผ๋ ํค์๋ ๋ฐ์ดํฐ ํ์
์ ํฌ๊ฒ ๊ธฐ๋ณธํ ํ์
/ ์ฐธ์กฐํ ํ์
์ผ๋ก ๊ตฌ๋ถ๋จ! ๊ธฐ๋ณธ ์๋ฃํ 8๊ฐ์ง 1 (byte)248์ ์ํbyteshortintlong์ค์ํ floatdouble๋ฌธ์ํ char ๋
ผ๋ฆฌํboolean ๊ธฐ๋ณธ ์๋ฃํ ํน์ง- null ๊ฐ์ ๊ฐ์ง ์ ์๋ค. (๊ธฐ๋ณธ๊ฐ์ด ์ ํด์ ธ ์์)- ๋ณ์ ์ ์ธ๊ณผ ๋์์ ๋ฉ๋ชจ๋ฆฌ ์์ฑ- ๋ชจ๋ ๊ฐ ํ์
์ ๋ฉ๋ชจ๋ฆฌ์ ์คํ(Stack)์ ์ ์ฅ๋จ์ฐธ์กฐ ์๋ฃํ๋ฐฐ์ด ํ์
/ ์ด๊ฑฐ ํ์
/ ํด๋์ค / ์ธํฐํ์ด์ค ์ฐธ์กฐ ์๋ฃํ ํน์ง- ๊ธฐ๋ณธํ๊ณผ ๋ฌ๋ฆฌ ์ค์ ๊ฐ์ด ์ ์ฅ๋์ง ์๊ณ , ์๋ฃ๊ฐ ์ ์ฅ๋ ๊ณต๊ฐ์ '์ฃผ์'๋ฅผ ์ ์ฅ..

๋ฐฑ์๋(Back-End) ๊ฐ๋ฐ/Java
JAVA๋? ์๋ฐ์ ๊ตฌ๋ ์๋ฆฌ (JVM์ ํน์ง)
2025.01.19
์๋ฐ๋ ๊ฐ์ฒด ์งํฅ์ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด !! ์๋ฐ ํ๋ก๊ทธ๋จ์ ๊ตฌ๋์๋ฆฌ 1. ์์ค์ฝ๋๋ฅผ ์์ฑํ๋ค (.java ํ์ฅ์์ ์์คํ์ผ)2. ์ปดํ์ผ๋ฌ(java.exe)๊ฐ ๋ฐ์ดํธ์ฝ๋๋ก ๋ณํํ๋ค. (.class ํ์ฅ์์ ํด๋์ค ํ์ผ)3. ๋ฐ์ฒ(java.exe)๋ก ์๋ฐ ๊ฐ์๋จธ์ (JVM)์ ๊ตฌ๋์ํจ๋ค.4. ์๋ฐ ๊ฐ์๋จธ์ (JVM)์ด ๋ฐ์ดํธ์ฝ๋๋ฅผ ํด์ํ๋ฉฐ ์๋ฐ ํ๋ก๊ทธ๋จ์ด ์คํ๋๋ค.( * bytecode๋ ์๋ฐ ๊ฐ์ ๋จธ์ ์ด ์ฝ์ ์ ์๋ ์ธ์ด๋ก ๋ณํ๋ ์ฝ๋. JVM๋ง ์ค์น ๋์ด ์์ผ๋ฉด bytecode๋ ์ด๋ค ์ด์์ฒด์ ์์๋ผ๋ ์คํ๋ ์ ์๋ค. ) ์๋ฐ ๊ฐ์ ๋จธ์ (JVM) * ๊ตฌ์ฑ ์์ 1. ํด๋์ค ๋ก๋(Class Loader) : ํ์ํ ํด๋์ค ํ์ผ์ ์ฐพ๊ณ ๋์ ์ผ๋ก ๋ก๋ํ์ฌ ์คํ ์์ ํด๋์ค๋ฅผ ์ฌ์ฉํ ์ ์๋๋ก ํ๋ค. ๋ก๋๋ ..
๋ฐฑ์๋(Back-End) ๊ฐ๋ฐ/Java
์ฟ ํค(Cookie) vs ์ธ์
(Session)
2025.01.19
์๋ฒ์ ํด๋ผ์ด์ธํธ๊ฐ ํต์ ์ ํ ๋ ์์ฒญ(Request)/์๋ต(Response)์ ์ฃผ๊ณ ๋ฐ๋๋ค.์ด ๋ ํต์ ์ด ์ฐ์์ ์ผ๋ก ์ด๋ฃจ์ด์ง์ง ์๊ณ ํ ๋ฒ ํต์ ์ด ๋๋ฉด ๋์ด์ง๋ค.๋ฐ๋ผ์, ์๋ฒ๋ ํด๋ผ์ด์ธํธ๊ฐ ๋๊ตฌ์ธ์ง ๊ณ์ ์ธ์ฆ์ ํด์ค์ผํ๋ค.์ด๋ฌํ ๋ฒ๊ฑฐ๋ก์์ ํด๊ฒฐํ๋ ๋ฐฉ๋ฒ์ด '์ฟ ํค์ ์ธ์
'์ด๋ค. ์ฟ ํค์ ์ธ์
์ ์ฐจ์ด์ ์ ํฌ๊ฒ ์ํ ์ ๋ณด์ ์ ์ฅ ์์น ์ด๋ค.์ฟ ํค๋ 'ํด๋ผ์ด์ธํธ(=๋ก์ปฌPC)'์ ์ ์ฅํ๊ณ , ์ธ์
์ '์๋ฒ'์ ์ ์ฅํ๋ค. ์ฟ ํค(Cookie)์ธ์
(Session)์ ์ฅ์์นํด๋ผ์ด์ธํธ(=์ ์์ PC)์น ์๋ฒ (ex. ํฐ์บฃ HttpSession)๋ง๋ฃ์์ ์ฟ ํค ์ ์ฅ์ ์ค์ (๋ธ๋ผ์ฐ์ ๊ฐ ์ข
๋ฃ๋์ด๋, ๋ง๋ฃ์์ ์ด ์ง๋์ง ์์ผ๋ฉด ์๋ ์ญ์ ๋์ง ์์)๋ธ๋ผ์ฐ์ ์ข
๋ฃ์ ์ญ์ (๊ธฐ๊ฐ ์ง์ ๊ฐ๋ฅ)์ฉ๋์ ํ์ด 300๊ฐ, ํ๋์ ๋๋ฉ์ธ๋น 20๊ฐ, ํ๋์..

๋ฐฑ์๋(Back-End) ๊ฐ๋ฐ/Java
๊ฐ์ฒด ์งํฅ ํ๋ก๊ทธ๋๋ฐ(Object Oriented Programming, OOP) ์ธ์ด
2025.01.16
๊ฐ์ฒด ์งํฅ ํ๋ก๊ทธ๋๋ฐ(OOP) ์ด๋ ? ๊ฐ์ฒด ์งํฅ ํ๋ก๊ทธ๋๋ฐ (Object-Oriented Programming, OOP)์ ํ๋ก๊ทธ๋๋ฐ์์ ํ์ํ ๋ฐ์ดํฐ๋ฅผ ์ถ์ํ ์์ผ ์ํ์ ํ์๋ฅผ ๊ฐ์ง ๊ฐ์ฒด๋ก ๋ง๋ค๊ณ , ๊ฐ์ฒด๋ค๊ฐ์ ์ ๊ธฐ์ ์ธ ์ํธ์์ฉ์ ํตํด ๋ก์ง์ ๊ตฌ์ฑํ๋ ํ๋ก๊ทธ๋๋ฐ ๋ฐฉ๋ฒ.(์ฐธ๊ณ ๋ก, ์ ์ฐจ ์งํฅ ํ๋ก๊ทธ๋๋ฐ์ด๋ ์์ฐจ์ ์ธ ์ฒ๋ฆฌ๊ฐ ์ค์์๋๋ฉฐ ํ๋ก๊ทธ๋จ ์ ์ฒด๊ฐ ์ ๊ธฐ์ ์ผ๋ก ์ฐ๊ฒฐ๋๋๋ก ๋ง๋ ํ๋ก๊ทธ๋๋ฐ, ๋ฐ๋ณต๋๋ ๋์์ ํจ์ ๋ฐ ํ๋ก์์ ํํ๋ก ๋ชจ๋ํํ์ฌ ์ฌ์ฉํ๋ ๋ฐฉ์)๊ฑฐ๊ธฐ์ ๋, ๊ฐ์ฒด(๋๋ ํด๋์ค)๋? ํด๋์ค : ์ด๋ค ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํ ๋ฐ์ดํฐ๋ฅผ ๋ง๋ค๊ธฐ ์ํด ์ถ์ํ๋ฅผ ๊ฑฐ์ณ ์ง๋จ์ ์ํ๋ ์์ฑ(attribute)๊ณผ ํ์๋ฅผ ๋ณ์์ ๋ฉ์๋๋ก ์ ์ํ ๊ฒ๊ฐ์ฒด(์ธ์คํด์ค) : ํด๋์ค์์ ์ ์ํ ๊ฒ์ ํ ๋๋ก ์ค์ ๋ฉ๋ชจ๋ฆฌ์ ํ ๋น๋ ..