๐ป Programming Language/Java
-
JAVA(9) - ๋ฉ๋ชจ๋ฆฌ ๊ตฌ์กฐ์ ๋ฉํฐ์ค๋ ๋ ์ดํดํ๊ธฐ๐ป Programming Language/Java 2025. 9. 30. 02:43
Java๋ฅผ ์ ํ์ฉํ๋ ค๋ฉด ํ๋ก๊ทธ๋จ์ด ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ด๋ป๊ฒ ์ฌ์ฉํ๋์ง์ ๋ฉํฐ์ค๋ ๋(Thread)๋ฅผ ํตํ ๋์์ฑ ์ฒ๋ฆฌ๋ฅผ ์ดํดํ๋ ๊ฒ์ด ์ค์ํ๋ค.์ด๋ฒ ๊ธ์์๋ Java ํ๋ก๊ทธ๋จ์ ๋ฉ๋ชจ๋ฆฌ ๊ตฌ์กฐ์ ๋ฉํฐ์ค๋ ๋์ ๊ฐ๋ , ๊ทธ๋ฆฌ๊ณ ์์ ํ๊ฒ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ๊น์ง ํจ๊ป ์ดํด๋ณด์. 1. Java ๋ฉ๋ชจ๋ฆฌ ๊ตฌ์กฐJava ํ๋ก๊ทธ๋จ์ด ์คํ๋ ๋, ๋ฉ๋ชจ๋ฆฌ๋ ํฌ๊ฒ Stack, Heap, ๊ทธ๋ฆฌ๊ณ ๊ธฐํ ์์ญ(Method Area ๋ฑ)์ผ๋ก ๋๋๋ค. 1) Stackํจ์ ํธ์ถ๊ณผ ์ง์ญ ๋ณ์๋ฅผ ์ ์ฅํ๋ ๋ฉ๋ชจ๋ฆฌ ์์ญํจ์๊ฐ ํธ์ถ๋๋ฉด Stack์ ๋ฐ์ดํฐ๊ฐ ์์ด๊ณ , ํจ์ ์ข ๋ฃ ์ ์๋์ผ๋ก ์ญ์ ๋จ๋น ๋ฅธ ์ ๊ทผ ์๋๋ฅผ ์ ๊ณตํ์ง๋ง, ๋ฉ๋ชจ๋ฆฌ ํฌ๊ธฐ๊ฐ ์ ํ๋์ด ์์void foo() { int x = 10; // Stack์ ์ ์ฅ}โถ x๋ foo()๊ฐ ๋๋๋ฉด ์ฌ๋ผ์ง๋ค. ..
-
JAVA(8) - ์ถ์ํ(Abstraction) ์ดํดํ๊ธฐ๐ป Programming Language/Java 2025. 9. 30. 02:25
Java์์ ์ถ์ํ(Abstraction)๋ ๊ฐ์ฒด ์งํฅ ํ๋ก๊ทธ๋๋ฐ์ ํต์ฌ ๊ฐ๋ ์ค ํ๋์ด๋ค.์ถ์ํ๋ ๋ณต์กํ ํ์ค ์ธ๊ณ์ ์ธ๋ถ์ฌํญ์ ์จ๊ธฐ๊ณ , ์ค์ํ ํน์ง์ด๋ ๊ณตํต๋ ์์ฑ๋ง์ ๋ชจ๋ธ๋งํ๋ ๊ฒ์ ์๋ฏธํ๋ค.์ฆ, ๋ถํ์ํ ์ธ๋ถ ๊ตฌํ์ ๊ฐ์ถ๊ณ , ํ์ํ ๊ธฐ๋ฅ๋ง์ ์ธํฐํ์ด์ค๋ก ์ ๊ณตํ๋ ๊ฒ์ด๋ค. 1. ์ถ์ํ์ ํ์์ฑํ๋ก๊ทธ๋จ์ ์์ฑํ๋ค ๋ณด๋ฉด, ๋ชจ๋ ์ธ๋ถ ๊ตฌํ์ ํ๊บผ๋ฒ์ ๋ค๋ฃจ๋ฉด ๋ณต์กํ๊ณ ์ดํดํ๊ธฐ ์ด๋ ค์์ง๋ค.์๋ฅผ ๋ค์ด, ์ฌ๋ฌ ์ข ๋ฅ์ ๋ํ(Circle, Rectangle, Triangle)์ด ์๋ค๊ณ ํ์.๋ชจ๋ ๋ํ์ draw()๋ผ๋ ๊ณตํต ๊ธฐ๋ฅ์ด ํ์ํ์ง๋ง, ๊ตฌ์ฒด์ ์ธ ๊ทธ๋ฆฌ๊ธฐ ๋ฐฉ์์ ์๋ก ๋ค๋ฅด๋ค.์ถ์ํ๋ฅผ ์ด์ฉํ๋ฉด ๊ณตํต ๊ธฐ๋ฅ์ ์ถ์ํํ๊ณ , ์ธ๋ถ ๊ตฌํ์ ์์ ํด๋์ค์์ ์ ์ํ ์ ์๋ค. 2. ์ถ์ํ ๊ตฌํ ๋ฐฉ๋ฒJava์์๋ ์ถ์ ํด๋์ค..
-
JAVA(7) - ์บก์ํ(Encapsulation) ์ดํดํ๊ธฐ๐ป Programming Language/Java 2025. 9. 30. 02:20
Java์์ ์บก์ํ(Encapsulation)๋ ๊ฐ์ฒด ์งํฅ ํ๋ก๊ทธ๋๋ฐ์ ํต์ฌ ์์น ์ค ํ๋์ด๋ค.์บก์ํ๋ ๊ฐ์ฒด์ ๋ฐ์ดํฐ(์์ฑ)๋ฅผ ์ธ๋ถ๋ก๋ถํฐ ์จ๊ธฐ๊ณ , ๊ณต๊ฐ๋ ๋ฉ์๋๋ฅผ ํตํด์๋ง ์ ๊ทผํ๋๋ก ์ ํํ๋ ๊ฒ์ ์๋ฏธํ๋ค.์ฆ, ๊ฐ์ฒด ๋ด๋ถ์ ๋ฐ์ดํฐ๋ฅผ ๋ณดํธํ๊ณ , ์๋ชป๋ ์ฌ์ฉ์ ๋ฐฉ์งํ๋ ์์ ์ฅ์น์ธ ์ ์ด๋ค. 1. ์บก์ํ์ ํ์์ฑ๊ฐ์ฒด ๋ด๋ถ ๋ฐ์ดํฐ๋ฅผ ์ธ๋ถ์์ ์ง์ ์์ ํ ์ ์๋ค๋ฉด, ์๋์น ์์ ์ค๋ฅ๊ฐ ๋ฐ์ํ ์ ์๋ค.์๋ฅผ ๋ค์ด, ์ํ ๊ณ์ข์ ์์ก์ ์์๋ก ๋ฐ๊ฟ ์ ์๋ค๋ฉด, ํ๋ก๊ทธ๋จ์ ์ ๋ขฐ์ฑ์ด ๋จ์ด์ง๋ค.class BankAccount { private int balance; // ์ธ๋ถ์์ ์ง์ ์ ๊ทผ ๋ถ๊ฐ public void deposit(int amount) { if(amount > 0) { ..
-
JAVA(6) - ๋คํ์ฑ(Polymorphism) ์ดํดํ๊ธฐ๐ป Programming Language/Java 2025. 9. 30. 02:12
Java์์ ๋คํ์ฑ(Polymorphism)์ ๊ฐ์ฒด ์งํฅ ํ๋ก๊ทธ๋๋ฐ์ ํต์ฌ ๊ฐ๋ ์ค ํ๋์ด๋ค.๋คํ์ฑ์ด๋ ๊ฐ์ ์ฝ๋๊ฐ ๊ฐ์ฒด์ ๋ฐ๋ผ ๋ค๋ฅด๊ฒ ๋์ํ๋ ๋ฅ๋ ฅ์ ์๋ฏธํ๋ค.์ฆ, ํ๋์ ๋ฉ์๋๋ ์ฐธ์กฐ ๋ณ์๊ฐ ์ฌ๋ฌ ํํ๋ก ๋์ํ ์ ์๋๋ก ๋ง๋๋ ํน์ง์ด๋ค. 1. ๋คํ์ฑ์ ํ์์ฑ์ค์ ํ๋ก๊ทธ๋จ์์๋ ๊ฐ์ ์ด๋ฆ์ ๋ฉ์๋๊ฐ ์๋ก ๋ค๋ฅธ ๋ฐฉ์์ผ๋ก ๋์ํ ์ ์์ด์ผ ํ๋ ๊ฒฝ์ฐ๊ฐ ๋ง๋ค.์๋ฅผ ๋ค์ด, Animal์ด๋ผ๋ ๋ถ๋ชจ ํด๋์ค๊ฐ ์๊ณ , ์ด๋ฅผ ์์๋ฐ์ Dog์ Cat์ด ์๋ค๊ณ ํ์.class Animal { void sound() { System.out.println("๋๋ฌผ์ด ์๋ฆฌ๋ฅผ ๋ ๋๋ค."); }}class Dog extends Animal { void sound() { System.ou..
-
JAVA(5) - ์์(Inheritance) ์ดํดํ๊ธฐ๐ป Programming Language/Java 2025. 9. 30. 01:51
Java์์ ์์(Inheritance)์ ๊ฐ์ฒด ์งํฅ ํ๋ก๊ทธ๋๋ฐ์ ํต์ฌ ๊ฐ๋ ์ค ํ๋์ด๋ค.์์์ ํตํด ๊ธฐ์กด ํด๋์ค์ ์์ฑ๊ณผ ๊ธฐ๋ฅ์ ์ฌ์ฌ์ฉํ๊ณ , ์๋ก์ด ํด๋์ค๋ฅผ ์ฝ๊ฒ ํ์ฅํ ์ ์๋ค.์ฆ, ์ค๋ณต ์ฝ๋๋ฅผ ์ค์ด๊ณ ์ฝ๋ ๊ตฌ์กฐ๋ฅผ ๊น๋ํ๊ฒ ๋ง๋๋ ๊ฐ๋ ฅํ ๊ธฐ๋ฅ์ด๋ค. 1. ์์์ ๊ธฐ๋ณธ ๊ตฌ์กฐ์์์ ๊ตฌํํ ๋๋ ๋ถ๋ชจ ํด๋์ค(Parent, Superclass)์ ์์ ํด๋์ค(Child, Subclass)๋ฅผ ์ฌ์ฉํ๋ค.๋ถ๋ชจ ํด๋์ค: ๊ณตํต ์์ฑ๊ณผ ๋ฉ์๋๋ฅผ ์ ์์์ ํด๋์ค: ๋ถ๋ชจ์ ์์ฑ๊ณผ ๋ฉ์๋๋ฅผ ๋ฌผ๋ ค๋ฐ์ ํ์ฅclass Animal { // ๋ถ๋ชจ ํด๋์ค void eat() { System.out.println("๋จน์ต๋๋ค."); }}class Dog extends Animal { ..
-
JAVA(4) - ์ ์ด๋ฌธ(์กฐ๊ฑด๋ฌธ, ๋ฐ๋ณต๋ฌธ) ์ดํดํ๊ธฐ๐ป Programming Language/Java 2025. 9. 29. 22:21
ํ๋ก๊ทธ๋๋ฐ์์ ๊ฐ์ฅ ์ค์ํ ๊ฐ๋ ์ค ํ๋๊ฐ ๋ฐ๋ก ์ ์ด๋ฌธ(Control Statement)์ด๋ค.์ ์ด๋ฌธ์ ํ๋ก๊ทธ๋จ์ ์คํ ํ๋ฆ์ ์ํ๋ ๋๋ก ์ ์ดํ ์ ์๊ฒ ํด์ค๋ค.์ฆ, ๋จ์ํ ์์์ ์๋๋ก๋ง ์คํ๋๋ ๊ฒ์ด ์๋๋ผ, ์กฐ๊ฑด์ ๋ฐ๋ผ ๋ถ๊ธฐํ๊ฑฐ๋ ๋ฐ๋ณต ์คํํ ์ ์๋ค.Java์์๋ ํฌ๊ฒ ๋ ๊ฐ์ง ์ ์ด๋ฌธ์ ์ฌ์ฉํ๋ค.์กฐ๊ฑด๋ฌธ (if, switch)๋ฐ๋ณต๋ฌธ (for, while, do-while) 1. ์กฐ๊ฑด๋ฌธ (Conditional Statement)์กฐ๊ฑด๋ฌธ์ ํน์ ์กฐ๊ฑด์ ๋ง์กฑํ ๋๋ง ์ฝ๋๋ฅผ ์คํํ๋๋ก ๋ง๋ ๋ค. (1) if ๋ฌธint score = 85;if(score >= 90) { System.out.println("A ํ์ ");} else if(score >= 80) { System.out.println("B..
-
JAVA(3) - ์์ธ ์ฒ๋ฆฌ(Exception Handling) ์ดํดํ๊ธฐ๐ป Programming Language/Java 2025. 9. 29. 02:30
Java๋ฅผ ์ฌ์ฉํ๋ค ๋ณด๋ฉด ํ๋ก๊ทธ๋จ ์คํ ์ค์ ์์์น ๋ชปํ ์ค๋ฅ๊ฐ ๋ฐ์ํ ์ ์๋ค.์ด๋ ํ๋ก๊ทธ๋จ์ด ๊ฐ์๊ธฐ ์ข ๋ฃ๋์ง ์๋๋ก ์์ธ(Exception)๋ฅผ ์ฒ๋ฆฌํ๋ ๋ฐฉ๋ฒ์ ์ดํดํ๋ ๊ฒ์ด ์ค์ํ๋ค. 1. ์์ธ(Exception)๋?์์ธ๋ ํ๋ก๊ทธ๋จ ์คํ ๋์ค ๋ฐ์ํ๋ ๋น์ ์์ ์ธ ์ํฉ์ ์๋ฏธํ๋ค.์๋ฅผ ๋ค์ด,0์ผ๋ก ๋๋๊ธฐ (ArithmeticException)๋ฐฐ์ด ๋ฒ์๋ฅผ ๋ฒ์ด๋ ์ ๊ทผ (ArrayIndexOutOfBoundsException)ํ์ผ์ด ์กด์ฌํ์ง ์๋ ๊ฒฝ์ฐ (FileNotFoundException)์์ธ๋ฅผ ์ ๋๋ก ์ฒ๋ฆฌํ์ง ์์ผ๋ฉด ํ๋ก๊ทธ๋จ์ด ๊ฐ์ ์ข ๋ฃ๋๋ค. 2. ์์ธ ์ฒ๋ฆฌ ๊ธฐ๋ณธ ๊ตฌ์กฐ: try-catchJava์์๋ try์ catch ๋ธ๋ก์ ์ฌ์ฉํด ์์ธ๋ฅผ ์ฒ๋ฆฌํ๋ค.try { int result = 10 /..
-
JAVA(2) - ์๋ฃํ๊ณผ ๋ฐฐ์ด, ์ปฌ๋ ์ ์ดํดํ๊ธฐ๐ป Programming Language/Java 2025. 9. 29. 02:24
Java๋ฅผ ๋ฐฐ์ฐ๋ฉด์ ์๋ฃํ๊ณผ ๋ฐฐ์ด, ์ปฌ๋ ์ ์ ๊ธฐ๋ณธ์ด๋ฉด์๋ ๋งค์ฐ ์ค์ํ ๊ฐ๋ ์ด๋ค.ํ๋ก๊ทธ๋๋ฐ์์ ๋ฐ์ดํฐ๋ฅผ ์ด๋ป๊ฒ ์ ์ฅํ๊ณ ๋ค๋ฃจ๋๋์ ๋ฐ๋ผ ์ฝ๋ ๊ตฌ์กฐ์ ์ฑ๋ฅ์ด ๋ฌ๋ผ์ง๊ธฐ ๋๋ฌธ์, ๋ฐ๋์ ์ดํดํด์ผ ํ๋ค. 1. ๊ธฐ๋ณธ ์๋ฃํ(Primitive Type)Java๋ ๊ฐํ์ ์ธ์ด์ด๋ฏ๋ก, ๋ณ์๋ฅผ ์ ์ธํ ๋ ๋ฐ๋์ ํ์ ์ ์ง์ ํด์ผ ํ๋ค.๊ธฐ๋ณธ ์๋ฃํ์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํจ์จ์ ์ผ๋ก ์ฌ์ฉํ๋ฉฐ, ์ซ์, ๋ฌธ์, ๋ ผ๋ฆฌ๊ฐ ๋ฑ์ ๋ค๋ฃฐ ์ ์๋ค.์๋ฃํํฌ๊ธฐ์ค๋ช byte1 byte์์ ์ ์short2 byte์ ์int4 byte์ ์, ๊ฐ์ฅ ๋ง์ด ์ฌ์ฉlong8 byteํฐ ์ ์float4 byte์ค์double8 byte์ค์, ์ ๋ฐ๋ ๋์char2 byte๋ฌธ์boolean1 bittrue/false int age = 25;double height = 17..