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

Java19

[java] ์ ‘๊ทผ์ œ์–ด์ž ๋ฒ”์œ„๊ฐ€ ํฐ ์ˆœpublic > protected > default > private private- ํ•ด๋‹น ํด๋ž˜์Šค ๋‚ด์—์„œ๋งŒ ์ ‘๊ทผ ๊ฐ€๋Šฅpublic class Sample { private String secret; private String getSecret() { return this.secret; }}secret ๋ณ€์ˆ˜์™€ getSecret ๋ฉ”์„œ๋“œ๋Š” ์˜ค์ง Sample ํด๋ž˜์Šค์—์„œ๋งŒ ์ ‘๊ทผ์ด ๊ฐ€๋Šฅํ•˜๊ณ  ๋‹ค๋ฅธ ํด๋ž˜์Šค์—์„œ๋Š” ์ ‘๊ทผ์ด ๋ถˆ๊ฐ€๋Šฅํ•˜๋‹ค. default- ์ž๋ฐ”์˜ ๊ธฐ๋ณธ ์ ‘๊ทผ์ œ์–ด์ž- ๊ฐ™์€ ํŒจํ‚ค์ง€ ๋‚ด์—์„œ๋งŒ ์ ‘๊ทผ ๊ฐ€๋Šฅ house/HouseKim.javapackage house; // ํŒจํ‚ค์ง€๊ฐ€ ๋™์ผํ•˜๋‹ค.public class HouseKim { String lastname = "kim"; .. 2024. 7. 23.
[java] ์ œ๋„ค๋ฆญ์Šค, ArrayList, LinkedList ์ œ๋„ค๋ฆญ์Šค๋ฅผ ์ด์šฉํ•˜๋ฉด ํ˜• ๋ณ€ํ™˜๊ณผ ๊ด€๋ จ๋œ ๋ถˆํ•„์š”ํ•œ ์ฝ”๋”ฉ์„ ์ค„์ผ ์ˆ˜ ์žˆ๊ณ , ์ž˜๋ชป๋œ ํ˜• ๋ณ€ํ™˜ ๋•Œ๋ฌธ์— ๋ฐœ์ƒํ•˜๋Š” ๋Ÿฐํƒ€์ž„ ์˜ค๋ฅ˜๋ฅผ ๋ฐฉ์ง€ํ•  ์ˆ˜ ์žˆ๋‹ค. ์ œ๋„ค๋ฆญ์Šค๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š์€ ์˜ˆ:ArrayList pitches = new ArrayList();pitches.add("138");pitches.add("129");String one = (String) pitches.get(0);String two = (String) pitches.get(1);์ œ๋„ค๋ฆญ์Šค๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š์œผ๋ฉด ArrayList์— ์ถ”๊ฐ€ํ•˜๋Š” ๊ฐ์ฒด๋Š” Object ์ž๋ฃŒํ˜•์œผ๋กœ ์ธ์‹๋œ๋‹ค. Object ์ž๋ฃŒํ˜•์€ ๋ชจ๋“  ๊ฐ์ฒด๊ฐ€ ์ƒ์†ํ•˜๊ณ  ์žˆ๋Š” ๊ฐ€์žฅ ๊ธฐ๋ณธ์ ์ธ ์ž๋ฃŒํ˜•์ด๋‹ค. ๋”ฐ๋ผ์„œ ArrayList ๊ฐ์ฒด์ธ pitches์— ๊ฐ’์„ ๋„ฃ์„ ๋•Œ๋Š” ๋ฌธ์ œ๊ฐ€ ์—†์ง€๋งŒ ๊ฐ’์„ ๊ฐ€์ ธ์˜ฌ ๋•Œ๋Š” ๋งค๋ฒˆ Objec.. 2024. 7. 22.
[java] StringBuffer, StringBuilder, String ์ฐจ์ด ๋ฌธ์ž์—ด์„ ์ €์žฅํ•˜๋Š” ํƒ€์ž…์œผ๋กœ String, StringBuffer, StringBuilder ๊ฐ€ ์žˆ๋‹ค.๊ฐ๊ฐ ์ฐจ์ด์ ์€ ์•„๋ž˜์™€ ๊ฐ™๋‹ค.  String- immutable(๋ถˆ๋ณ€)StringBuffer- mutable(๊ฐ€๋ณ€)- ๋ฉ€ํ‹ฐ ์Šค๋ ˆ๋“œ ํ™˜๊ฒฝ์—์„œ ์•ˆ์ „StringBuilder- mutable(๊ฐ€๋ณ€)- ๋‹จ์ผ ์Šค๋ ˆ๋“œ ํ™˜๊ฒฝ์—์„œ ์ฃผ๋กœ ์‚ฌ์šฉ- ๋™๊ธฐํ™” ์ƒ๊ด€์—†๋Š” ํ™˜๊ฒฝ์—์„œ๋Š” StringBuffer๋ณด๋‹ค ์„ฑ๋Šฅ ์šฐ์ˆ˜  ์—ฐ์‚ฐ์ด ๋งŽ์€ ๊ฒฝ์šฐ ์†๋„ ๋“ฑ์˜ ์„ฑ๋Šฅ์œผ๋กœ ๋ดค์„ ๋•Œ StringBuilder > StringBuffer > String ์ˆœ์œผ๋กœ ์„ฑ๋Šฅ์ด ์ข‹๋‹ค. 2024. 7. 22.
[java] ๋ฐฐ์—ด ๋ฐฐ์—ด์˜ ํŠน์ง•๊ฐ€์žฅ ๋Œ€ํ‘œ์ ์ธ ์ž๋ฃŒ๊ตฌ์กฐ ์ž…๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ๋ฅผ ์ˆœ์ฐจ์ ์œผ๋กœ ์ €์žฅํ•ด 0๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜๋Š” ์ธ๋ฑ์Šค๋ฅผ ํ†ตํ•ด ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.์ผ๋ฐ˜์ ์œผ๋กœ ๋ฐฐ์—ด์€ ์„ ์–ธํ• ๋•Œ ํฌ๊ธฐ๊ฐ€ ๊ณ ์ •๋จ.๋ฐ์ดํ„ฐ๋ฅผ ์ˆœ์ฐจ์ ์œผ๋กœ๋งŒ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ์–ด ์œ„์น˜๋ฅผ ๋ชจ๋ฅด๋Š” ๊ฒฝ์šฐ ํšจ์œจ์ด ๋–จ์–ด์ง.๋ฐฐ์—ด์— ๋“ค์–ด๊ฐ€๋Š” ๋ฐ์ดํ„ฐ๋Š” ๋ชจ๋‘ ๋™์ผํ•œ ์ž๋ฃŒํ˜• ์ด์–ด์•ผ ํ•จ.๋ฐฐ์—ด ์ค‘๊ฐ„์— ๊ฐ’์„ ์ถ”๊ฐ€ํ•˜๋ ค๋ฉด ๊ธฐ์กด ๋ฐ์ดํ„ฐ๋ฅผ ๋ชจ๋‘ ์ด๋™์‹œ์ผœ์•ผ ํ•จ.๋ฐฐ์—ด ์„ ์–ธ ๋ฐ ๋ฐ์ดํ„ฐ ์‚ฌ์šฉint scores[] = {95,100,87,91};int[] scores = {95,100,87,91};int[] scores = new int[4];scores[2] = 90; // 3๋ฒˆ์งธ ์š”์†Œ(87)์„ 90์œผ๋กœ ๋ณ€๊ฒฝ.System.out.println(scores[0]);์ž๋ฐ”์—์„œ ๋ฐฐ์—ด์„ ์–ธ์‹œ ํƒ€์ž…[] ๋ณ€์ˆ˜๋ช… ํ˜น์€ ํƒ€์ž… ๋ณ€์ˆ˜๋ช…[] ํ˜•.. 2024. 6. 4.
[java] ๋ฉ”์„œ๋“œ ์˜ค๋ฒ„๋กœ๋”ฉ, ๋งค์„œ๋“œ ์˜ค๋ฒ„๋ผ์ด๋”ฉ, ๊ฐ€๋ณ€์ธ์ž ๋ฉ”์„œ๋“œ ์˜ค๋ฒ„๋กœ๋”ฉ(Overloading)๋ฆฌํ„ด๊ฐ’์ด๋‚˜ ์ธ์ž๊ฐ€ ๋‹ค๋ฅธ ์—ฌ๋Ÿฌ ๋ฉ”์„œ๋“œ๋ฅผ ๋™์ผํ•œ ์ด๋ฆ„์œผ๋กœ ์„ ์–ธํ•˜๋Š”๊ฒƒ.๋ฉ”์„œ๋“œ ์˜ค๋ฒ„๋กœ๋”ฉ ์˜ˆ์‹œ:class Animal { String name; void setName(String name) { this.name = name; }}class Dog extends Animal { void sleep() { System.out.println(this.name + " zzz"); }}class HouseDog extends Dog { void sleep() { System.out.println(this.name + " zzz in house"); } void sleep(int hour) { .. 2024. 6. 4.
[java] ์ž๋ฃŒํ˜• ์ž๋ฐ”์˜ ๋ฐ์ดํ„ฐ ํƒ€์ž…์€ ํฌ๊ฒŒ ๊ธฐ๋ณธํƒ€์ž…๊ณผ ์ฐธ์กฐํƒ€์ž…์œผ๋กœ ๋‚˜๋‰œ๋‹ค.๊ธฐ๋ณธ ํƒ€์ž…์€ ๋ฉ”๋ชจ๋ฆฌ์ƒ์—์„œ ์Šคํƒ์˜์—ญ์— ์ž๋ฆฌ์žก๊ณ , ์ฐธ์กฐํƒ€์ž…์€ ํž™์˜์—ญ์— ๊ฐ์ฒด๊ฐ€ ์ž๋ฆฌ ์žก์œผ๋ฉฐ ์Šคํƒ์˜์—ญ์—์„œ๋Š” ํž™์˜์—ญ์„ ์ฐธ์กฐ ์—ฐ๊ฒฐํ•œ๋‹ค.1. ๊ธฐ๋ณธ ์ž๋ฃŒํ˜•์ž๋ฃŒํ˜•ํฌ๊ธฐ์„ค๋ช…byte1๋ฐ”์ดํŠธ, -128~127๊ฐ€์žฅ ์ž‘์€ ๋‹จ์œ„๋กœ 8bit ๋กœ ๊ตฌ์„ฑ๋œ 1byte ๋ฅผ ๊ธฐ๋ณธ์œผ๋กœ ํ•จ.char2๋ฐ”์ดํŠธ, 0~65535์Œ์ˆ˜๋ฅผ ํฌํ•จํ•˜์ง€ ์•Š๋Š” unsigned ์ž๋ฃŒํ˜•์œผ๋กœ ๋ฌธ์ž ํ‘œํ˜„์— ์ ํ•ฉ.short2๋ฐ”์ดํŠธ, -32768~32767์Œ์ˆ˜๋ฅผ ํฌํ•จํ•œ 2๋ฐ”์ดํŠธ ํฌ๊ธฐ์˜ ์ž๋ฃŒํ˜•. ์ž‘์€ ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ์— ์ ํ•ฉ.int4๋ฐ”์ดํŠธ, -2147483648~2147483647์ •์ˆ˜์˜ ๊ธฐ๋ณธ์ž๋ฃŒํ˜•์ด์ง€๋งŒ ์ถฉ๋ถ„ํ•œ ํฌ๊ธฐ๊ฐ€ ์•„๋‹˜์— ์ฃผ์˜long8๋ฐ”์ดํŠธ, -9223372036854775808 ~ 9223372036854775807์ถฉ๋ถ„ํ•œ .. 2024. 6. 4.
[java] ํด๋ž˜์Šค, ๋ฉ”์„œ๋“œ, ๋ณ€์ˆ˜, ์ƒ์ˆ˜๋ช… ๊ทœ์น™ ์‹๋ณ„์ž ์ƒ์„ฑ ๊ด€๋ก€(Coding convention)๋ฌธ๋ฒ•์ ์ธ ์ œํ•œ์‚ฌํ•ญ์€ ์•„๋‹ˆ์ง€๋งŒ ์ผ๋ฐ˜์ ์œผ๋กœ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ด€๋ก€๋กœ ์ƒ์„ฑ ํ•ฉ๋‹ˆ๋‹ค.ํด๋ž˜์Šค ์ด๋ฆ„์€ ๋Œ€๋ฌธ์ž์˜ ๋ช…์‚ฌ๋กœ ์‹œ์ž‘๋ฉ”์„œ๋“œ ์ด๋ฆ„์€ ์†Œ๋ฌธ์ž์˜ ๋™์‚ฌ๋ณ€์ˆ˜๋Š” ์†Œ๋ฌธ์ž์˜ ๋ช…์‚ฌ์ƒ์ˆ˜๋Š” ๋Œ€๋ฌธ์ž์˜ ๋ช…์‚ฌ 2024. 6. 4.
[JPA] @Setter ๋Œ€์‹  @Builder ์‚ฌ์šฉํ•ด์•ผํ•˜๋Š” ์ด์œ  @Setter๋กœ ์ƒ์„ฑ์ž ์ด์šฉ vs @Builder๊ฒฐ๋ก ๋ถ€ํ„ฐ ๋งํ•˜์ž๋ฉด, @Setter๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด @Builder๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ๋ณด๋‹ค ํฐ ๋‹จ์ ๋“ค์ด ๋งŽ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, Setter ์ƒ์„ฑ์ž๋กœ ์ดˆ๊ธฐํ™” ์‹œํ‚ฌ ์‹œ ์ฝ”๋“œ๊ฐ€ ๊ธธ์–ด ์ง„๋‹ค.๋˜ํ•œ, ๋ˆ„๋ฝ๋œ ํ•„๋“œ๊ฐ€ ์žˆ์–ด๋„ ์ปดํŒŒ์ผ๋Ÿฌ๋Š” ์•„๋ฌด ๊ฒฝ๊ณ ๋ฅผ ์•ˆ์ค€๋‹ค.๊ฐ์ฒด๊ฐ€ “๋ถˆ์™„์ „ํ•œ ์ƒํƒœ”๋กœ ์กด์žฌํ•  ์ˆ˜ ์žˆ๋‹ค.setter๊ฐ€ public์ด๋ฉด ์™ธ๋ถ€์—์„œ ์–ธ์ œ๋“  ํ•„๋“œ ๋ณ€๊ฒฝ ๊ฐ€๋Šฅํ•˜๋‹ค. (์บก์Аํ™” ๊นจ์ง) ์ด๋Ÿฌํ•œ ์ ๋“ค๋กœ ์ธํ•ด, ์‹ค๋ฌด์—์„œ๋Š” ์‹ค๋ฌด์—์„œ๋Š” @Setter๋ฅผ ์™„์ „ํžˆ ์—†์• ๊ณ  @Builder + private ์ƒ์„ฑ์ž ๋ฅผ ๋งŽ์ด ์ด์šฉํ•œ๋‹ค.@Builder๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ํ•œ์ค„ ์ฝ”๋“œ๋กœ ๊ฐ„ํŽธํ•˜๊ณ , ์–ด๋–ค ํ•„๋“œ์— ์–ด๋–ค ๊ฐ’์„ ์ฑ„์›Œ์•ผ ํ•˜๋Š”์ง€ ๋ช…ํ™•ํžˆ ์•Œ ์ˆ˜ ์žˆ๋‹ค.๊ทธ๋ ‡๋‹ค๋ฉด @Builder์˜ ์˜๋ฏธ์™€ ์‚ฌ์šฉ๋ฒ•์„ ์•„๋ž˜์—์„œ ์•Œ์•„๋ณด์ž. ๐Ÿ”น @.. 2024. 2. 14.
[java] LocalDate , LocalDateTime, LocalTime ์ฐจ์ด LocalDate :๋‚ ์งœLocalDate today = LocalDate.now();System.out.println("Today is " + today);LocalDate birthday = LocalDate.of(1982, 7, 13);System.out.println("My birthday is " + birthday);LocalDate christmas = LocalDate.parse("2017-12-25");System.out.println("Last Christmas is " + christmas);๊ฒฐ๊ณผ:Today is 2018-06-17My birthday is 1982-07-13Last Christmas is 2017-12-25์œ„ ์˜ˆ์ œ ์ฝ”๋“œ ์ฒ˜๋Ÿผ LocalDate ํด๋ž˜์Šค๋Š” public ์ƒ์„ฑ.. 2024. 2. 12.