๐ŸŒป JAVA

๐ŸŒป JAVA/์ •๋ฆฌ์ •๋ฆฌ์ •๋ฆฌ

JAVA - STUDY 7์ฃผ์ฐจ ๊ณผ์ œ : ํŒจํ‚ค์ง€

๋ชฉํ‘œ ์ž๋ฐ”์˜ ํŒจํ‚ค์ง€์— ๋Œ€ํ•ด ํ•™์Šตํ•˜์„ธ์š”. ํ•™์Šตํ•  ๊ฒƒ (ํ•„์ˆ˜) package ํ‚ค์›Œ๋“œ import ํ‚ค์›Œ๋“œ ํด๋ž˜์ŠคํŒจ์Šค CLASSPATH ํ™˜๊ฒฝ๋ณ€์ˆ˜ -classpath ์˜ต์…˜ ์ ‘๊ทผ์ง€์‹œ์ž(์ ‘๊ทผ์ œ์–ด์ž) pacakage ํ‚ค์›Œ๋“œ ์šฐ๋ฆฌ๊ฐ€ ์ปดํ“จํ„ฐ์—์„œ ํ•œ ํด๋” ์•ˆ์— ๋น„์Šทํ•œ ์„ฑ์งˆ์ด ์žˆ๋Š” ํŒŒ์ผ๋“ค์„ ๋„ฃ์–ด์„œ ์ •๋ฆฌํ•˜๋Š” ๊ฒƒ ์ฒ˜๋Ÿผ ์ž๋ฐ”์˜ ํŒจํ‚ค์ง€๋„ ์ด๊ฒƒ๊ณผ ๋™์ผํ•œ ๊ฐœ๋…์ด๋‹ค. ์žฅ์  pacakage๋Š” ํด๋ž˜์Šค์˜ ๋ถ„๋ฅ˜๊ฐ€ ์šฉ์ดํ•˜๋‹ค. (๋น„์Šทํ•œ ๊ฒƒ ๋ผ๋ฆฌ ๋ฌถ๋Š”๋‹ค) ํŒจํ‚ค์ง€๊ฐ€ ๋‹ค๋ฅด๋‹ค๋ฉด ๋™์ผํ•œ ํด๋ž˜์Šค๋ช…์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. Package ๊ณ„์ธต FQCN (Fully Qualified Class Name) ๋ชจ๋“  ํด๋ž˜์Šค์—๋Š” ํŒจํ‚ค์ง€๊ฐ€ ์žˆ๋‹ค. String ํด๋ž˜์Šค์˜ ํŒจํ‚ค์ง€๋Š” java.lang ์ด๋ฉฐ, FQCN์€ java.lang.String์ด ๋œ๋‹ค. ์œ„์— Accountํด๋ž˜์Šค์˜ ..

๐ŸŒป JAVA/์ž๋ฐ” ORM ํ‘œ์ค€ JPA ํ”„๋กœ๊ทธ๋ž˜๋ฐ

10-2) JPQL - ๊ธฐ๋ณธ ๋ฌธ๋ฒ•๊ณผ ๊ธฐ๋Šฅ

์ž๋ฐ” ORM ํ‘œ์ค€ JPA ํ”„๋กœ๊ทธ๋ž˜๋ฐ - ๊ธฐ๋ณธํŽธ์„ ๊ณต๋ถ€ํ•˜๋ฉฐ ์ •๋ฆฌํ•œ ๋‚ด์šฉ์ž…๋‹ˆ๋‹ค. ์ž๋ฐ” ORM ํ‘œ์ค€ JPA ํ”„๋กœ๊ทธ๋ž˜๋ฐ - ๊ธฐ๋ณธํŽธ - ์ธํ”„๋Ÿฐ JPA๋ฅผ ์ฒ˜์Œ ์ ‘ํ•˜๊ฑฐ๋‚˜, ์‹ค๋ฌด์—์„œ JPA๋ฅผ ์‚ฌ์šฉํ•˜์ง€๋งŒ ๊ธฐ๋ณธ ์ด๋ก ์ด ๋ถ€์กฑํ•˜์‹  ๋ถ„๋“ค์ด JPA์˜ ๊ธฐ๋ณธ ์ด๋ก ์„ ํƒ„ํƒ„ํ•˜๊ฒŒ ํ•™์Šตํ•ด์„œ ์ดˆ๋ณด์ž๋„ ์‹ค๋ฌด์—์„œ ์ž์‹ ์žˆ๊ฒŒ JPA๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ดˆ๊ธ‰ ์›น ๊ฐœ๋ฐœ ํ”„๋กœ๊ทธ๏ฟฝ www.inflearn.com ๋ชฉ์ฐจ JPQL ์†Œ๊ฐœ ํ”„๋กœ์ ์…˜(SELECT) ํŽ˜์ด์ง• ์กฐ์ธ ์„œ๋ธŒ์ฟผ๋ฆฌ JPQL ํƒ€์ž… ํ‘œํ˜„๊ณผ ๊ธฐํƒ€์‹ ์กฐ๊ฑด์‹(CASE ๋“ฑ๋“ฑ) JPQL ํ•จ์ˆ˜ ๐Ÿ—’ JPQL ์†Œ๊ฐœ JPQL์€ ๊ฐ์ฒด์ง€ํ–ฅ ์ฟผ๋ฆฌ ์–ธ์–ด์ด๋‹ค. ๋”ฐ๋ผ์„œ ํ…Œ์ด๋ธ”์„ ๋Œ€์ƒ์œผ๋กœ ์ฟผ๋ฆฌํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ์—”ํ‹ฐํ‹ฐ ๊ฐ์ฒด๋ฅผ ๋Œ€์ƒ์œผ๋กœ ์ฟผ๋ฆฌํ•œ๋‹ค. JPQL์€ SQL์„ ์ถ”์ƒํ™”ํ•ด์„œ ํŠน์ • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค SQL์— ์˜์กดํ•˜์ง€ ์•Š๋Š”๋‹ค. JPQ..

๐ŸŒป JAVA/์ •๋ฆฌ์ •๋ฆฌ์ •๋ฆฌ

JAVA - ๊ฐ์ฒด, ์ธ์Šคํ„ด์Šค ์ดํ•ดํ•˜๊ธฐ

๊ฐ์ฒด, ์ธ์Šคํ„ด์Šค์˜ ๊ฐœ๋…์„ ์ดํ•ดํ•˜๊ธฐ ์œ„ํ•ด ์ •๋ฆฌํ•˜๋Š” ๋‚ด์šฉ์ž…๋‹ˆ๋‹ค. ํด๋ž˜์Šค (Class) ๊ฐœ๋… ๊ฐ์ฒด๋ฅผ ๋งŒ๋“œ๋Š” ์„ค๊ณ„๋„ ๋˜๋Š” ํ‹€ /* ํด๋ž˜์Šค */ public class Car { ... } ๊ฐ์ฒด (Object) ๊ฐœ๋… ์†Œํ”„ํŠธ์›จ์–ด ์„ธ๊ณ„์— ๊ตฌํ˜„ํ•  ๋Œ€์ƒ ํด๋ž˜์Šค์— ์„ ์–ธ๋œ ๋ชจ์–‘ ๊ทธ๋Œ€๋กœ ์ƒ์„ฑ๋œ ์‹ค์ฒด ์„ค๊ณ„๋„(ํด๋ž˜์Šค)์—์„œ ๋งŒ๋“ค์–ด๋‚ธ ์ œํ’ˆ(?) ํŠน์ง• ๋ชจ๋“  ๋ ˆํผ๋Ÿฐ์Šค ํƒ€์ž…์„ ๊ฐ์ฒด๋ผ๊ณ  ๋ถ€๋ฅด๊ธฐ๋„ ํ•œ๋‹ค. ๊ฐ์ฒด๋Š” ๋ชจ๋“  ์ธ์Šคํ„ด์Šค๋ฅผ ํฌ๊ด„ํ•˜๋Š” ์˜๋ฏธ๋ฅผ ๊ฐ–๋Š”๋‹ค. OOP ๊ด€์ ์—์„œ ํด๋ž˜์Šค ํƒ€์ž…์œผ๋กœ ์„ ์–ธ๋˜์—ˆ์„ ๋•Œ ๊ฐ์ฒด๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค. public class Main { public static void main(String[] args) { Car santafe, tucson;// ๊ฐ์ฒด } } ์ธ์Šคํ„ด์Šค (Instance) ๊ฐœ๋… ์„ค๊ณ„๋„๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ์†Œํ”„ํŠธ์›จ์–ด ์„ธ๊ณ„..

๐ŸŒป JAVA/์ •๋ฆฌ์ •๋ฆฌ์ •๋ฆฌ

JAVA - Call By Value ? Call By Reference ?

๋‚ด๊ฐ€ ๋„ˆ๋ฌด ์ž๋ฐ”์— ๊ธฐ์ดˆ์— ๋Œ€ํ•ด์„œ ๊ณต๋ถ€๋ฅผ ์ œ๋Œ€๋กœ ์•ˆํ–ˆ๋‹ค๊ณ  ์ƒ๊ฐํ•ด์„œ ๋‹ค์‹œ ์ •๋ฆฌํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค.. Call By Value ? Call By Reference ? ๋ฉ”์†Œ๋“œ์—์„œ ์ธ์ž๊ฐ’์„ ๋ฐ›์„ ๋•Œ, ๊ฐ’์— ์˜ํ•œ ํ˜ธ์ถœ์ธ์ง€, ์ฐธ์กฐ์— ์˜ํ•œ ํ˜ธ์ถœ์ธ์ง€ ๊ฒฐ๋ก ๋ถ€ํ„ฐ ๋งํ•˜์ž๋ฉด ์ž๋ฐ”๋Š” Call By Value ๋ฐฉ์‹์ด๋‹ค. public class Test{ static void changeString(String s){ s = new String("new"); } public static void main(String[] args){ String a = "old"; System.out.println(a); changeString(a); System.out.println(a); // old? new? ๋ญ๊ฐ€ ์ถœ๋ ฅ๋ ๊นŒ } } ์‹คํ–‰๊ฒฐ๊ณผ old ol..

๐ŸŒป JAVA/์ •๋ฆฌ์ •๋ฆฌ์ •๋ฆฌ

JAVA - STUDY 6์ฃผ์ฐจ ๊ณผ์ œ : ์ƒ์†

ํ•™์Šต ํ•  ๋‚ด์šฉ๋“ค ์ž๋ฐ” ์ƒ์†์˜ ํŠน์ง• super ํ‚ค์›Œ๋“œ ๋ฉ”์†Œ๋“œ ์˜ค๋ฒ„๋ผ์ด๋”ฉ ๋‹ค์ด๋‚˜๋ฏน ๋ฉ”์†Œ๋“œ ๋””์ŠคํŒจ์น˜ (Dynamic Method Dispatch) ์ถ”์ƒ ํด๋ž˜์Šค final ํ‚ค์›Œ๋“œ Object ํด๋ž˜์Šค ์ž๋ฐ” ์ƒ์†์˜ ํŠน์ง• ์ƒ์†์˜ ๋งค์šฐ ์น˜๋ช…์ ์ธ ์˜คํ•ด : "์ƒ์†์€ ์ฝ”๋“œ์˜ ์žฌํ™œ์šฉ์„ ์œ„ํ•œ ๋ฌธ๋ฒ•์ž…๋‹ˆ๋‹ค." (X) "์—ฐ๊ด€๋œ ์ผ๋ จ์˜ ํด๋ž˜์Šค๋“ค์— ๋Œ€ํ•ด ๊ณตํ†ต์ ์ธ ๊ทœ์•ฝ์„ ์ •์˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค." (O) ์ƒ์†์˜ ๊ฐ€์žฅ ๊ธฐ๋ณธ์ ์ธ ํŠน์„ฑ ๋ถ€๋ชจํด๋ž˜์Šค์˜ ํ•„๋“œ, ๋ฉ”์†Œ๋“œ๋งŒ ์ƒ์†๋˜๋ฉฐ, ์ƒ์„ฑ์ž์™€ ์ดˆ๊ธฐํ™” ๋ธ”๋ก์€ ์ƒ์†๋˜์ง€ ์•Š๋Š”๋‹ค. ๋ถ€๋ชจ ํด๋ž˜์Šค์˜ private, default๋กœ ์„ค์ •๋œ ๋ฉค๋ฒ„๋Š” ์ž์‹ ํด๋ž˜์Šค์—์„œ ์ƒ์† ๋ฐ›์ง€๋งŒ ์ ‘๊ทผํ•  ์ˆ˜๋Š” ์—†๋‹ค. Animal ํด๋ž˜์Šค public class Animal { String name; String bark; public void..

๐ŸŒป JAVA/์ •๋ฆฌ์ •๋ฆฌ์ •๋ฆฌ

JAVA - ํ‰๊ท (average) ๊ฐ’ ๊ตฌํ•  ๋•Œ ์˜ค๋ฒ„ํ”Œ๋กœ์šฐ ์•ˆ๋‚˜๊ฒŒ ๊ตฌํ•˜๊ธฐ

int ํ˜•์˜ ๋ฒ”์œ„๋Š” ์•ฝ -21์–ต๋ถ€ํ„ฐ ~ 21์–ต ๊นŒ์ง€ ์ด๋‹ค. ๋งŒ์•ฝ์— ์•„๋ž˜์˜ ๊ฒฝ์šฐ์˜ ํ‰๊ท ์„ ๊ตฌํ•˜๋ฉด ์–ด๋–ค ๊ฐ’์ด ๋‚˜์˜ฌ๊นŒ? (์กฐ๊ฑด, num1๊ณผ num2๋Š” ๊ฐ ๊ฐ intํ˜•์˜ ์ตœ๋Œ€๊ฐ’์„ ๋„˜๊ธฐ์ง€ ์•Š๋Š”๋‹ค.) int num1 = 2_100_000_000; int num2 = 2_100_000_000; int avg = (num1 + num2) / 2; System.out.println("ํ‰๊ท  ๊ฐ’ : " + avg); ์‹คํ–‰ ๊ฒฐ๊ณผ -47,483,648// ์“ฐ๋ ˆ๊ธฐ ๊ฐ’์ด ๋‚˜์˜ค๊ฒŒ ๋œ๋‹ค.(์˜ค๋ฒ„ํ”Œ๋กœ์šฐ) ๊ธฐ๋Œ€ ํ–ˆ๋˜ ๊ฐ’์€ 20์–ต์ด์ง€๋งŒ, 21์–ต์„ ๋„˜์–ด๊ฐ€๋ฉด์„œ ์˜ค๋ฒ„ํ”Œ๋กœ์šฐ๊ฐ€ ๋ฐœ์ƒํ•ด์„œ -147.. ๊ฐ’์ด ๋‚˜์˜ค๊ฒŒ ๋˜๋Š” ๊ฒƒ์ด๋‹ค. ๊ทธ๋ ‡๋‹ค๋ฉด, ์ด๋ฅผ ๋ฐฉ์ง€ํ•  ํ‰๊ท  ๊ตฌํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ? int num1 = 2_100_000_000; int num2 = 2_100_0..

iseunghan
'๐ŸŒป JAVA' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๊ธ€ ๋ชฉ๋ก (5 Page)