โจ๏ธ Language/Java16 [Java] String vs StringBuilder vs StringBuffer Java์์ ๋ฌธ์์ด์ ๋ค๋ฃฐ ๋ ๊ฐ์ฅ ๋ง์ด ์ฌ์ฉํ๋ ํด๋์ค๋ String์ ๋๋ค.ํ์ง๋ง ์ฑ๋ฅ, ๋๊ธฐํ ์ฌ๋ถ, ์์ ๊ฐ๋ฅ์ฑ ๋ฑ์ ๋ฐ๋ผ StringBuilder, StringBuffer๋ ํจ๊ป ์์๋๋ ๊ฒ์ด ์ค์ํฉ๋๋ค. ์ด๋ฒ ๊ธ์์๋ ์ด ์ธ ๊ฐ์ง ๋ฌธ์์ด ํด๋์ค์ ์ฐจ์ด์ ๊ณผ ์ํฉ์ ๋ฐ๋ฅธ ์ ์ ํ ์ ํ ๋ฐฉ๋ฒ์ ์ ๋ฆฌํด ๋ณด๊ฒ ์ต๋๋ค.โ StringString์ Java์์ ๋ฌธ์์ด์ ํํํ๋ ๊ฐ์ฅ ๊ธฐ๋ณธ์ ์ธ ํด๋์ค์ ๋๋ค.๋ถ๋ณ ๊ฐ์ฒด(immutable) ์ด๊ธฐ ๋๋ฌธ์, ํ ๋ฒ ์์ฑ๋ ๋ฌธ์์ด์ ๋ณ๊ฒฝํ ์ ์์ต๋๋ค.์์ ์ด ํ์ํ ๊ฒฝ์ฐ, ๊ธฐ์กด ๊ฐ์ฒด๋ ๊ทธ๋๋ก ๋๊ณ ์๋ก์ด ๊ฐ์ฒด๊ฐ ์์ฑ๋ฉ๋๋ค.String str1 = "hello";str1 += " world"; // ์๋ก์ด ๋ฌธ์์ด ๊ฐ์ฒด ์์ฑ์ ์ฝ๋๋ "hello"์ "hello world".. 2025. 5. 20. [Java] ์์ธ ์ฒ๋ฆฌ ์์ ์ ๋ณต โก : throw, throws์ ์ฌ์ฉ์ ์ ์ ์์ธ ํด๋์ค ๋ชฉ์ฐจ ํ๋ก๊ทธ๋จ์ ๋ ๊ฒฌ๊ณ ํ๊ฒ ๋ง๋ค๊ธฐ ์ํด์๋ ๋จ์ํ ์์ธ๋ฅผ ์ก๋ ๊ฒ์ ๋์ด, ์์ธ๋ฅผ ์ ๊ทน์ ์ผ๋ก ํ์ฉํ๊ณ ์ค๊ณํ ์ค ์์์ผ ํฉ๋๋ค. ๊ฐ๋ฐ์๊ฐ ์ง์ ์์ธ๋ฅผ ๋ค๋ฃจ๊ณ ์ํฉ์ ๋ง๋ ์ปค์คํ ์์ธ๋ฅผ ๋ง๋๋ ๊ฒ์ ์ค๋ฌด์์ ๋งค์ฐ ์ค์ํ ๊ธฐ์ ์ ๋๋ค. ์ด๋ฒ ๊ธ์์๋ throw์ throws ํค์๋๋ฅผ ํตํ ์์ธ ์ ์ด ๋ฐฉ๋ฒ๊ณผ ์ฌ์ฉ์ ์ ์ ์์ธ ํด๋์ค ์์ฑ ๋ฐฉ๋ฒ์ ๋ํด ์์ธํ ์์๋ณด๊ฒ ์ต๋๋ค.๐ท throw์ throws ํค์๋throw๋?throw๋ ์์ธ ๊ฐ์ฒด๋ฅผ ๋ช ์์ ์ผ๋ก ๋ฐ์์ํค๋ ํค์๋์ ๋๋ค.ํน์ ์กฐ๊ฑด์ด ์ถฉ์กฑ๋์ง ์์์ ๋ ํ๋ก๊ทธ๋จ์ ํ๋ฆ์ ์ค๋จํ๊ณ ์์ธ ์ฒ๋ฆฌ ๋ก์ง์ผ๋ก ์ ์ด๋ฅผ ๋๊ธฐ๋ ๋ฐ ์ ์ฉํฉ๋๋ค.public class ThrowExample { public static void main(String[] args) {.. 2025. 5. 17. [Java] ์์ธ ์ฒ๋ฆฌ ์์ ์ ๋ณต โ : ๊ฐ๋ ๋ถํฐ try-catch๊น์ง ๋ชฉ์ฐจ ํ๋ก๊ทธ๋จ์ ๊ฐ๋ฐํ๋ค ๋ณด๋ฉด ์์์น ๋ชปํ ์ํฉ์ด ๋ฐ์ํ๊ธฐ ๋ง๋ จ์ ๋๋ค. ์ฌ์ฉ์๊ฐ ์๋ชป๋ ์ ๋ ฅ์ ํ๊ฑฐ๋, ๋คํธ์ํฌ ์ฐ๊ฒฐ์ด ๋๊ธฐ๊ฑฐ๋, ํ์ผ์ด ์กด์ฌํ์ง ์๋ ๋ฑ ๋ค์ํ ๋ฌธ์ ๊ฐ ์๊ธธ ์ ์์ฃ . ์๋ฐ์์๋ ์ด๋ฐ ์์ธ ์ํฉ์ ํจ๊ณผ์ ์ผ๋ก ๋ค๋ฃจ๊ธฐ ์ํ ์์ธ ์ฒ๋ฆฌ(Exception Handling) ๋ฉ์ปค๋์ฆ์ ์ ๊ณตํฉ๋๋ค.์์ธ ์ฒ๋ฆฌ๋ฅผ ์ํ๋ฉด ํ๋ก๊ทธ๋จ์ด ์ค๋จ๋์ง ์๊ณ , ์ฌ์ฉ์์๊ฒ ์น์ ํ ๋ฉ์์ง๋ฅผ ๋ณด์ฌ์ฃผ๋ฉฐ, ๋ฌธ์ ์ ์์ธ์ ์ถ์ ํ๊ธฐ ์ฌ์ด ์ฝ๋๋ฅผ ์์ฑํ ์ ์์ด์. ์ค๋์ ์๋ฐ ์์ธ ์ฒ๋ฆฌ์ ๊ธฐ๋ณธ ๊ฐ๋ ๊ณผ ๊ตฌํ ๋ฐฉ๋ฒ์ ๋ํด ์์๋ณด๊ฒ ์ต๋๋ค.๐ฅ ์์ธ๋ ๋ฌด์์ธ๊ฐ?์์ธ(Exception)๋ ํ๋ก๊ทธ๋จ ์คํ ์ค์ ๋ฐ์ํ๋ ์๊ธฐ์น ์์ ์ด๋ฒคํธ๋ก, ํ๋ก๊ทธ๋จ์ ์ ์์ ์ธ ํ๋ฆ์ ๋ฐฉํดํฉ๋๋ค. ์๋ฌ(Error) vs ์์ธ(Exception)์๋ฌ(Er.. 2025. 5. 16. [Java] ์ถ์ํ์ ๋คํ์ฑ์ผ๋ก ์ ์ฐํ ์ฝ๋ ์ค๊ณํ๊ธฐ ๋ชฉ์ฐจ ๊ฐ์ฒด์งํฅ ํ๋ก๊ทธ๋๋ฐ(OOP)์ ์ง์ง ํ์ ์ ์ฐํจ๊ณผ ํ์ฅ์ฑ์ ์์ต๋๋ค.๊ทธ ํต์ฌ์ ์๋ ๊ฐ๋ ์ด ๋ฐ๋ก ์ถ์ํ(Abstraction) ์ ๋คํ์ฑ(Polymorphism) ์ด์ฃ . ์ด๋ฒ ๊ธ์์๋ ์ถ์ ํด๋์ค, ์ธํฐํ์ด์ค, ๋คํ์ฑ, instanceof๋ฅผ ํตํด Java๋ก ์ ์ง๋ณด์๊ฐ ์ฌ์ด ์ค๊ณ ๊ตฌ์กฐ๋ฅผ ๋ง๋๋ ๋ฐฉ๋ฒ์ ์์๋ณด๊ฒ ์ต๋๋ค.๐ท ์ถ์ ํด๋์ค์ ์ธํฐํ์ด์ค๐ ์ถ์ํ๋?์ถ์ํ๋ ๊ณตํต์ ์ธ ์์ฑ๊ณผ ๋์์ ๋ฝ์๋ด์ด ์ผ๋ฐํํ๋ ๊ฐ๋ ์ ๋๋ค.์ฆ, ์ฌ๋ฌ ๊ฐ์ฒด๊ฐ ๊ณตํต์ผ๋ก ๊ฐ์ ธ์ผ ํ ‘ํ’์ ์ ์ํ๋, ๊ตฌํ์ ๋์ค์ ํ๊ฒ ๋ง๋๋ ๊ฑฐ์ฃ .Java์์๋ ์ด ์ถ์ํ๋ฅผ ์ํด ์ถ์ ํด๋์ค(Abstract Class)์ ์ธํฐํ์ด์ค(Interface)๋ฅผ ์ ๊ณตํฉ๋๋ค. ์ถ์ ํด๋์ค(Abstract Class)์ถ์ ํด๋์ค๋ ์์ ํ์ง ์์ ํด๋์ค๋ก,.. 2025. 5. 13. [Java] ์์๊ณผ ๋ฉ์๋ ํ์ฅ์ผ๋ก ์ฝ๋ ์ฌ์ฌ์ฉ์ฑ ๋์ด๊ธฐ ๋ชฉ์ฐจ ๊ฐ์ฒด์งํฅ ํ๋ก๊ทธ๋๋ฐ์ ๊ฐ๋ ฅํ ํน์ง ์ค ํ๋๋ “์ฌ์ฌ์ฉ์ฑ๊ณผ ํ์ฅ์ฑ”์ ๋๋ค.์ด์ ์ ์์ฑํ ์ฝ๋๋ฅผ ์ฌํ์ฉํ์ฌ ์๋ก์ด ํด๋์ค๋ฅผ ๋ง๋ค ์ ์๋ค๋ฉด, ๊ฐ๋ฐ ์๊ฐ์ ํฌ๊ฒ ๋จ์ถํ ์ ์์ฃ .์ด ๊ฐ๋ ์ ์คํํ ์ ์๊ฒ ํด์ฃผ๋ ๋ํ์ ์ธ ๋๊ตฌ๊ฐ ๋ฐ๋ก ์์(Inheritance) ์ด์ฃ . ์ด๋ฒ ํฌ์คํ ์์๋ ์์์ ํตํด ํด๋์ค๋ฅผ ํ์ฅํ๋ ๋ฐฉ๋ฒ, ๊ทธ๋ฆฌ๊ณ ์ค๋ฒ๋ก๋ฉ(Overloading)์ค๋ฒ๋ก๋ฉ(Overloading)๊ณผ ์ค๋ฒ๋ผ์ด๋ฉ(Overriding)์ ๋น๊ตํ๋ฉฐ Java์์ ๋ฉ์๋๋ฅผ ์ด๋ป๊ฒ ์ ์ฐํ๊ฒ ํ์ฉํ๋์ง๋ฅผ ํจ๊ป ์์๋ณด๊ฒ ์ต๋๋ค.๐ ์์๊ณผ super ํค์๋์์(Inheritance)์ด๋?์์์ ๊ธฐ์กด ํด๋์ค(๋ถ๋ชจ)๋ฅผ ๋ฐํ์ผ๋ก ์๋ก์ด ํด๋์ค(์์)๋ฅผ ๋ง๋๋ ๊ฒ์ ๋๋ค.๋ถ๋ชจ ํด๋์ค์ ํ๋์ ๋ฉ์๋๋ฅผ ์์ ํด๋์ค๊ฐ ๊ทธ๋๋ก ๋ฌผ๋ ค๋ฐ์ ์ ์.. 2025. 5. 12. [Java] ๊ฐ์ฒด์งํฅ ํ๋ก๊ทธ๋๋ฐ(OOP) ๊ธฐ๋ณธ ๊ฐ๋ ๊ณผ ๊ตฌ์กฐ ๋ชฉ์ฐจ ํ๋ก๊ทธ๋๋ฐ ํจ๋ฌ๋ค์์๋ ์ฌ๋ฌ ๊ฐ์ง๊ฐ ์์ง๋ง, ๊ทธ์ค์์๋ ๊ฐ์ฒด์งํฅ ํ๋ก๊ทธ๋๋ฐ(Object-Oriented Programming, OOP)์ ํ๋ ํ๋ก๊ทธ๋๋ฐ์ ํต์ฌ์ ๋๋ค. Java๋ ๊ฐ์ฒด์งํฅ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ ๋๋ค.์ฆ, ์ฐ๋ฆฌ๊ฐ ํ์ค ์ธ๊ณ์ ์ฌ๋ฌผ์ ๊ฐ์ฒด๋ก ๋ณด๊ณ , ์ด๋ฅผ ์ฝ๋๋ก ๋ชจ๋ธ๋งํ์ฌ ํ๋ก๊ทธ๋จ์ ๊ตฌ์ฑํ๋ ๋ฐฉ์์ด์ฃ . ์ด๋ฒ ํฌ์คํ ์์๋ ๊ฐ์ฒด์งํฅ์ ์์์ ์ธ ํด๋์ค์ ๊ฐ์ฒด, ์์ฑ์์ this ํค์๋, ์บก์ํ์ ์ ๊ทผ ์ ์ด์๊น์ง OOP์ ๊ธฐ๋ณธ ๊ตฌ์กฐ๋ฅผ ์ ๋ฆฌํด ๋ณผ๊ฒ์!๐ฆ ํด๋์ค์ ๊ฐ์ฒดํด๋์ค(Class)๋?ํด๋์ค๋ ๊ฐ์ฒด๋ฅผ ๋ง๋ค๊ธฐ ์ํ ์ค๊ณ๋ ๋๋ ํ ํ๋ฆฟ์ ๋๋ค. ๊ฐ์ฒด๊ฐ ๊ฐ์ ธ์ผ ํ ์์ฑ(ํ๋)๊ณผ ๊ธฐ๋ฅ(๋ฉ์๋)์ ์ ์ํด ๋์ ํ์ด๋ผ๊ณ ์๊ฐํ๋ฉด ๋ผ์.public class Car { String color; int .. 2025. 5. 11. ์ด์ 1 2 3 ๋ค์ ๋ฐ์ํ