๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

๐Ÿ“– Java20

Java ๊ธฐ๋ณธํŽธ ๊ฐ•์˜_์ ‘๊ทผ ์ œ์–ด์ž ์ ‘๊ทผ ์ œ์–ด์ž ์ ‘๊ทผ ์ œ์–ด์ž ์ดํ•ด 1์ ‘๊ทผ ์ œ์–ด์ž๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ํ•ด๋‹น ํด๋ž˜์Šค ์™ธ๋ถ€์—์„œ ํŠน์ • ํ•„๋“œ๋‚˜ ๋ฉ”์„œ๋“œ์— ์ ‘๊ทผํ•˜๋Š” ๊ฒƒ์„ ํ—ˆ์šฉํ•˜๊ฑฐ๋‚˜ ์ œํ•œํ•  ์ˆ˜ ์žˆ๋‹ค.ํ•„๋“œ์— ์ง์ ‘ ์ ‘๊ทผํ•ด์„œ ์›ํ•˜๋Š” ๊ฐ’์„ ์„ค์ •ํ•˜๋Š” ๋ฌธ์ œ๋ฅผ ๊ทผ๋ณธ์ ์œผ๋กœ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ํ•„๋“œ์˜ ์™ธ๋ถ€ ์ ‘๊ทผ์„ ๋ง‰์„ ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์ด ํ•„์š”ํ•˜๋‹ค. ์ ‘๊ทผ ์ œ์–ด์ž ์ดํ•ด 2private ์ ‘๊ทผ ์ œ์–ด์ž๋Š” ๋ชจ๋“  ์™ธ๋ถ€ ํ˜ธ์ถœ์„ ๋ง‰๋Š”๋‹ค. ๋”ฐ๋ผ์„œ private์ด ๋ถ™์€ ๊ฒฝ์šฐ ํ•ด๋‹น ํด๋ž˜์Šค ๋‚ด๋ถ€์—์„œ๋งŒ ํ˜ธ์ถœํ•  ์ˆ˜ ์žˆ๋‹ค. โœ”๏ธ ์ฐธ๊ณ ์ข‹์€ ํ”„๋กœ๊ทธ๋žจ์€ ๋ฌดํ•œํ•œ ์ž์œ ๋„๊ฐ€ ์ฃผ์–ด์ง€๋Š” ํ”„๋กœ๊ทธ๋žจ์ด ์•„๋‹ˆ๋ผ ์ ์ ˆํ•œ ์ œ์•ฝ์„ ์ œ๊ณตํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์ด๋‹ค. ์ ‘๊ทผ ์ œ์–ด์ž ์ข…๋ฅ˜Java๋Š” 4๊ฐ€์ง€ ์ข…๋ฅ˜์˜ ์ ‘๊ทผ ์ œ์–ด์ž๋ฅผ ์ œ๊ณตํ•œ๋‹ค.์ ‘๊ทผ ์ œ์–ด์ž ์ข…๋ฅ˜private : ๋ชจ๋“  ์™ธ๋ถ€ ํ˜ธ์ถœ์„ ๋ง‰๋Š”๋‹ค.default(package-private) : ๊ฐ™์€ ํŒจํ‚ค์ง€ ์•ˆ.. 2024. 11. 28.
Java ๊ธฐ๋ณธํŽธ ๊ฐ•์˜_ํŒจํ‚ค์ง€ ํŒจํ‚ค์ง€ ํŒจํ‚ค์ง€ - ์‹œ์ž‘๋งค์šฐ ๋งŽ์€ ํด๋ž˜์Šค๊ฐ€ ๋“ฑ์žฅํ•˜๋ฉด ๊ด€๋ จ ์žˆ๋Š” ๊ธฐ๋Šฅ๋“ค์„ ๋ถ„๋ฅ˜ํ•ด์„œ ๊ด€๋ฆฌํ•˜๊ณ  ์‹ถ์–ด ์ง„๋‹ค.์ปดํ“จํ„ฐ๋Š” ๋ณดํ†ต ํŒŒ์ผ์„ ๋ถ„๋ฅ˜ํ•˜๊ธฐ ์œ„ํ•ด ํด๋”, ๋””๋ ‰ํ† ๋ฆฌ๋ผ๋Š” ๊ฐœ๋…์„ ์ œ๊ณตํ•œ๋‹ค. Java๋„ ์ด๋Ÿฐ ๊ฐœ๋…์„ ์ œ๊ณตํ•˜๋Š”๋ฐ, ์ด๊ฒƒ์ด ๋ฐ”๋กœ ํŒจํ‚ค์ง€๋‹ค.* user * User * UserManager * UserHistory* product * Product * ProductCatalog * ProductImage* order * Order * OrderService * OrderHistory* cart * ShoppingCart * CartItem* payment * Payment * PaymentHistory* shipping * Shipment * ShipmentTracker์—ฌ๊ธฐ์„œ user, p.. 2024. 11. 26.
Java ๊ธฐ๋ณธํŽธ ๊ฐ•์˜_์ƒ์„ฑ์ž ์ƒ์„ฑ์ž ์ƒ์„ฑ์ž - ํ•„์š”ํ•œ ์ด์œ ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•˜๋Š” ์‹œ์ ์— ์–ด๋–ค ์ž‘์—…์„ ํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด ์ƒ์„ฑ์ž(Construct)๋ฅผ ์ด์šฉํ•˜๋ฉด ๋œ๋‹ค.MemberInitpackage construct;public class MemberInit { String name; int age; int grade;}MemberInitMain1package construct;public class MemberInitMain1 { public static void main(String[] args) { MemberInit member1 = new MemberInit(); member1.name = "user1"; member1.age = 15; member1.grade = 90.. 2024. 11. 26.
Java ๊ธฐ๋ณธํŽธ ๊ฐ•์˜_๊ฐ์ฒด ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๊ฐ์ฒด ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์ ˆ์ฐจ ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ 1 - ์‹œ์ž‘์ ˆ์ฐจ ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ vs ๊ฐ์ฒด ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์ ˆ์ฐจ ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์ ˆ์ฐจ ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์€ ์ด๋ฆ„ ๊ทธ๋Œ€๋กœ ์ ˆ์ฐจ๋ฅผ ์ง€ํ–ฅํ•œ๋‹ค. ์‰ฝ๊ฒŒ ์ด์•ผ๊ธฐํ•ด์„œ ์‹คํ–‰ ์ˆœ์„œ๋ฅผ ์ค‘์š”ํ•˜๊ฒŒ ์ƒ๊ฐํ•˜๋Š” ๋ฐฉ์‹์ด๋‹ค.์ ˆ์ฐจ ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์€ ํ”„๋กœ๊ทธ๋žจ์˜ ํ๋ฆ„์„ ์ˆœ์ฐจ์ ์œผ๋กœ ๋”ฐ๋ฅด๋ฉฐ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐฉ์‹์ด๋‹ค. ์ฆ‰, "์–ด๋–ป๊ฒŒ"๋ฅผ ์ค‘์‹ฌ์œผ๋กœ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ํ•œ๋‹ค.๊ฐ์ฒด ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ๊ฐ์ฒด ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์€ ์ด๋ฆ„ ๊ทธ๋Œ€๋กœ ๊ฐ์ฒด๋ฅผ ์ง€ํ–ฅํ•œ๋‹ค. ์‰ฝ๊ฒŒ ์ด์•ผ๊ธฐํ•ด์„œ ๊ฐ์ฒด๋ฅผ ์ค‘์š”ํ•˜๊ฒŒ ์ƒ๊ฐํ•˜๋Š” ๋ฐฉ์‹์ด๋‹ค.๊ฐ์ฒด ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์€ ์‹ค์ œ ์„ธ๊ณ„์˜ ์‚ฌ๋ฌผ์ด๋‚˜ ์‚ฌ๊ฑด์„ ๊ฐ์ฒด๋กœ ๋ณด๊ณ , ์ด๋Ÿฌํ•œ ๊ฐ์ฒด๋“ค ๊ฐ„์˜ ์ƒํ˜ธ์ž‘์šฉ์„ ์ค‘์‹ฌ์œผ๋กœ ํ”„๋กœ๊ทธ๋ž˜๋ฐํ•˜๋Š” ๋ฐฉ์‹์ด๋‹ค. ์ฆ‰, "๋ฌด์—‡์„" ์ค‘์‹ฌ์œผ๋กœ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ํ•œ๋‹ค.๋‘˜์˜ ์ค‘์š”ํ•œ ์ฐจ์ด์ ˆ์ฐจ ์ง€ํ–ฅ์€ ๋ฐ์ดํ„ฐ์™€ ํ•ด๋‹น ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•œ ์ฒ˜๋ฆฌ ๋ฐฉ์‹.. 2024. 11. 26.
Java ๊ธฐ๋ณธํŽธ ๊ฐ•์˜_๊ธฐ๋ณธํ˜•๊ณผ ์ฐธ์กฐํ˜• ๊ธฐ๋ณธํ˜•๊ณผ ์ฐธ์กฐํ˜• ๊ธฐ๋ณธํ˜• vs ์ฐธ์กฐํ˜• 1 - ์‹œ์ž‘์ž๋ฐ”์—์„œ ์ฐธ์กฐํ˜•์„ ์ œ๋Œ€๋กœ ์ดํ•ดํ•˜๋Š” ๊ฒƒ์€ ์ •๋ง ์ค‘์š”ํ•˜๋‹ค.๋ณ€์ˆ˜์˜ ๋ฐ์ดํ„ฐ ํƒ€์ž…์„ ๊ฐ€์žฅ ํฌ๊ฒŒ ๋ณด๋ฉด ๊ธฐ๋ณธํ˜•๊ณผ ์ฐธ์กฐํ˜•์œผ๋กœ ๋ถ„๋ฅ˜ํ•  ์ˆ˜ ์žˆ๋‹ค. ์‚ฌ์šฉํ•˜๋Š” ๊ฐ’์„ ๋ณ€์ˆ˜์— ์ง์ ‘ ๋„ฃ์„ ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋ณธํ˜•, ๊ฐ์ฒด๊ฐ€ ์ €์žฅ๋œ ๋ฉ”๋ชจ๋ฆฌ์˜ ์œ„์น˜๋ฅผ ๊ฐ€๋ฅดํ‚ค๋Š” ์ฐธ์กฐ๊ฐ’์„ ๋„ฃ์„ ์ˆ˜ ์žˆ๋Š” ์ฐธ์กฐํ˜•์œผ๋กœ ๋ถ„๋ฅ˜ํ•  ์ˆ˜ ์žˆ๋‹ค.๊ธฐ๋ณธํ˜•(Primitive Type) : int, long, double, boolean์ฒ˜๋Ÿผ ๋ณ€์ˆ˜์— ์‚ฌ์šฉํ•  ๊ฐ’์„ ์ง์ ‘ ๋„ฃ์„ ์ˆ˜ ์žˆ๋Š” ๋ฐ์ดํ„ฐ ํƒ€์ž…์„ ๊ธฐ๋ณธํ˜•์ด๋ผ ํ•œ๋‹ค.์ฐธ์กฐํ˜•(Reference Type) : ๋ฐ์ดํ„ฐ์— ์ ‘๊ทผํ•˜๊ธฐ ์œ„ํ•œ ์ฐธ์กฐ(์ฃผ์†Œ)๋ฅผ ์ €์žฅํ•˜๋Š” ๋ฐ์ดํ„ฐ ํƒ€์ž…์„ ์ฐธ์กฐํ˜•์ด๋ผ ํ•œ๋‹ค. ์ฐธ์กฐํ˜•์€ ๊ฐ์ฒด ๋˜๋Š” ๋ฐฐ์—ด์— ์‚ฌ์šฉ๋œ๋‹ค.๊ธฐ๋ณธํ˜• ๋ณ€์ˆ˜์—๋Š” ์ง์ ‘ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๊ฐ’์ด ๋“ค์–ด์žˆ์ง€๋งŒ ์ฐธ์กฐํ˜• ๋ณ€์ˆ˜์—๋Š” ์œ„์น˜(์ฐธ์กฐ๊ฐ’).. 2024. 11. 26.
Java ๊ธฐ๋ณธํŽธ ๊ฐ•์˜_ํด๋ž˜์Šค์™€ ๋ฐ์ดํ„ฐ ํด๋ž˜์Šค๊ฐ€ ํ•„์š”ํ•œ ์ด์œ Java ์„ธ์ƒ์€ ํด๋ž˜์Šค์™€ ๊ฐ์ฒด๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๋‹ค. ๊ทธ๋งŒํผ ํด๋ž˜์Šค์™€ ๊ฐ์ฒด๋ผ๋Š” ๊ฐœ๋…์€ ์ค‘์š”ํ•˜๋‹ค. ๊ทธ๋Ÿฐ๋ฐ ํด๋ž˜์Šค์™€ ๊ฐ์ฒด๋Š” ๋„ˆ๋ฌด ๋งŽ์€ ๋‚ด์šฉ์„ ํฌํ•จํ•˜๊ณ  ์žˆ์–ด์„œ ํ•œ ๋ฒˆ์— ์ดํ•ดํ•˜๊ธฐ ์‰ฝ์ง€ ์•Š๋‹ค.์‚ฌ๋žŒ์ด ๊ด€๋ฆฌํ•˜๊ธฐ ์ข‹์€ ๋ฐฉ์‹์€ ๊ฐœ๋…์„ ํ•˜๋‚˜๋กœ ๋ฌถ๋Š” ๊ฒƒ์ด๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๊ฐ๊ฐ์˜ ๊ฐ์ฒด ๋ณ„๋กœ ๊ฐ’์„ ๊ด€๋ฆฌํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ํด๋ž˜์Šค ๋„์ž…student ํด๋ž˜์Šคpublic class Student { String name; int age; int grade;}class ํ‚ค์›Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•ด์„œ ํ•™์ƒ ํด๋ž˜์Šค(Strudent)๋ฅผ ์ •์˜ํ•œ๋‹ค. ํ•™์ƒ ํด๋ž˜์Šค๋Š” ๋‚ด๋ถ€์— ์ด๋ฆ„(name), ๋‚˜์ด(age), ์„ฑ์ (grade) ๋ณ€์ˆ˜๋ฅผ ๊ฐ€์ง„๋‹ค.์ด๋ ‡๊ฒŒ ํด๋ž˜์Šค์— ์ •์˜ํ•œ ๋ณ€์ˆ˜๋“ค์„ ๋ฉค๋ฒ„ ๋ณ€์ˆ˜, ๋˜๋Š” ํ•„๋“œ๋ผ ํ•œ๋‹ค.๋ฉค๋ฒ„ ๋ณ€์ˆ˜(Member Variable) .. 2024. 11. 25.