Java 23

์—ฌ๋Ÿฌ ๊ฐœ์˜ ํ…์ŠคํŠธ ํ•œ ๋ฒˆ์— ๊ต์ฒด : ๋˜‘๊ฐ™์€ ํ…์ŠคํŠธ ์†์‰ฝ๊ฒŒ ๋ณ€๊ฒฝํ•˜๋Š” ๊ฟ€ํŒ

๋ฐ”๊พธ๊ณ ์ž ํ•˜๋Š” ๋ถ€๋ถ„์„ ๋“œ๋ž˜๊ทธํ•œ ํ›„, ์ปจํŠธ๋กค + R์„ ๋ˆ„๋ฅธ๋‹ค.  ๋‹๋ณด๊ธฐ) ๊ธฐ์กด ํ…์ŠคํŠธ๋‹๋ณด๊ธฐ) ๋ฐ”๊พธ๊ณ ์ž ํ•˜๋Š” ํ…์ŠคํŠธ  ์•„๋ž˜ ์œ„๋กœ ์ด๋™ํ•˜๋ฉด์„œ ๋ฐ”๊ฟ”๋„ ๋˜๊ณ ,  Replace All ์„ ๋ˆŒ๋Ÿฌ์„œ ์ „์ฒด๋ฅผ ๋ฐ”๊ฟ”์ค„ ์ˆ˜๋„ ์žˆ๋‹ค.

Java 2024.06.17

Java) ์ด๋ฉ”์ผ ํ˜•์‹ ์ฒดํฌํ•˜๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ : Patterns

// ์ž๋ฐ”์˜ ์ด๋ฉ”์ผ ํ˜•์‹ ์ฒดํฌํ•˜๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ PatternsPattern pattern = Patterns.EMAIL_ADDRESS;if(pattern.matcher(email).matches() == false){ //if(! pattern.matcher(email).matches() ){}๋กœ ์จ๋„ ๋˜‘๊ฐ™๋‹ค. Snackbar.make(btnRegister,"์ด๋ฉ”์ผ ํ˜•์‹์„ ๋ฐ”๋ฅด๊ฒŒ ์ž‘์„ฑํ•˜์„ธ์š”.",Snackbar.LENGTH_SHORT).show(); return;}

Java 2024.06.13

์ž๋ฐ”(Java) try-catch-finally ๊ตฌ๋ฌธ ํ•™์Šตํ•˜๊ธฐ

try-catch-finally ๊ตฌ๋ฌธ์ด๋ž€?  try-catch-finally๋Š” ์ž๋ฐ”์—์„œ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ๋ฅผ ์œ„ํ•ด ์‚ฌ์šฉ๋˜๋Š” ๊ตฌ๋ฌธ์ด๋‹ค์˜ˆ์™ธ ์ฒ˜๋ฆฌ๋Š” ํ”„๋กœ๊ทธ๋žจ ์‹คํ–‰ ์ค‘์— ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋Š” ์˜ค๋ฅ˜๋ฅผ ๊ด€๋ฆฌํ•˜๊ณ , ํ”„๋กœ๊ทธ๋žจ์ด ์˜ˆ์™ธ ์ƒํ™ฉ์—์„œ๋„ ์ ์ ˆํžˆ ๋™์ž‘ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ด์ค€๋‹ค.  import java.util.ArrayList;public class TryMain { public static void main(String[] args) { // TODO Auto-generated method stub try { //์—๋Ÿฌ๊ฐ€ ์—†์„ ๋•Œ ์‹คํ–‰์‹œํ‚ฌ ๋ถ€๋ถ„ ArrayList nameList = new ArrayList(); nameList.add("ํ™๊ธธ๋™"); } catch(Exception e) { //ํŒŒ์ด์ฌ excep..

Java 2024.06.04

Java์—์„œ NullPointerException ๋ฐœ์ƒ ์‹œ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•

Exception in thread "main" java.lang.NullPointerException: Cannot invoke "java.util.ArrayList.add(Object)" because "mc.memberList" is nullat main.AddressMain.main(AddressMain.java:20)  ์‹คํ–‰ ์‹œ์ผฐ์„ ๋•Œ, ์˜ค๋ฅ˜ ๋œจ๋Š” ์ด์œ ๋Š”?  => mc๊ฐ€ ํž™๋ฉ”๋ชจ๋ฆฌ๋ฅผ Pointer ํ•  ๋•Œ Pointer ํ•  ๊ฐ’์ด null์ด๊ธฐ(๋น„์–ด์žˆ๊ธฐ) ๋•Œ๋ฌธ์ด๋‹ค.=> memberlist์— ์ €์žฅ๋œ ํž™ ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ์—†๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.=> "ํ™๊ธธ๋™", "010-2222-3333"์ด stack ์˜์—ญ์—์„œ member์˜ ์ƒ์„ฑ์ž๋กœ๋Š” ์ƒ์„ฑ์ด ๋˜์—ˆ์ง€๋งŒ,     ํž™ ๋ฉ”๋ชจ๋ฆฌ์— ์ €์žฅ๋˜๋Š” memberlist ์˜์—ญ์—๋Š” ๊ฐ’์ด ์ œ๋Œ€๋กœ ..

Java 2024.06.04

์ž๋ฐ”(Java)์˜ "HashMap" ๋”•์…”๋„ˆ๋ฆฌ์™€ ๋น„์Šทํ•œ ๋ฐ์ดํ„ฐ ์ŠคํŠธ๋Ÿญ์ณ

HashMap ํ•ด์‹œ ๋งต์€ ํ‚ค์™€ ๊ฐ’์„ ์Œ์œผ๋กœ ์ €์žฅํ•˜๋Š” ์ž๋ฃŒ ๊ตฌ์กฐ์ด๋‹ค. hash map์€ ํŒŒ์ด์ฌ์˜ ๋”•์…”๋„ˆ๋ฆฌ์™€ ๋น„์Šทํ•œ ๋ฐ์ดํ„ฐ ์ŠคํŠธ๋Ÿญ์ณ์ด๋‹ค.  ์ด๋ฆ„, ์ „ํ™”๋ฒˆํ˜ธ ์Œ์„ ์ €์žฅํ•œ๋‹ค.HashMap phoneMap = new HashMap();  ๋ฐ์ดํ„ฐ ์ €์žฅphoneMap.put("model", "iphone 12");phoneMap.put("year", "2021");phoneMap.put("color", "red");  ๋ฐ์ดํ„ฐ ์–ต์„ธ์ŠคphoneMap.get("model")  ๋ชจ๋“  ๋ฐ์ดํ„ฐ ๋ถˆ๋Ÿฌ์˜ค๋Š” ๋ฐฉ๋ฒ• 1Object[] values = phoneMap.values().toArray();  ๋ชจ๋“  ๋ฐ์ดํ„ฐ ๋ถˆ๋Ÿฌ์˜ค๋Š” ๋ฐฉ๋ฒ• 2for( Object data : phoneMap.values().toArray() ) { S..

Java 2024.06.04

์ž๋ฐ”(Java)์˜ ArrayList ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์‚ฌ์šฉํ•˜๊ธฐ

ArrayList ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ž€? ๊ธฐ์กด์˜ Array(๋ฐฐ์—ด)์€ ์ •ํ•ด์ง„ ๋ฐ์ดํ„ฐ์˜ ๊ฐฏ์ˆ˜ ์ด์ƒ์œผ๋กœ๋Š” ๋ฐ์ดํ„ฐ ์ถ”๊ฐ€๊ฐ€ ๋ถˆ๊ฐ€ํ•˜๋‹ค๊ฐฏ์ˆ˜ ์ œํ•œ ์—†์ด ๋ฐ์ดํ„ฐ๋ฅผ ๋งˆ์Œ๋Œ€๋กœ ์ถ”๊ฐ€, ์ˆ˜์ •, ์‚ญ์ œํ•˜๊ธฐ ์œ„ํ•˜์—ฌ ๋งŒ๋“  ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ด๋‹ค.  ArrayList ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์‚ฌ์šฉ๋ฒ•(๊ทœ์น™)  ๋‹ด๊ณ ์‹ถ์€ ๋ฐ์ดํ„ฐ์˜ ํƒ€์ž…์„ ์•ˆ์— ์ ์–ด์ค˜์•ผ ํ•œ๋‹ค. ArrayList nameList = new ArrayList();    (1) ํŒจํ‚ค์ง€ ํ•˜๋‚˜์— ์ž‘์„ฑ - ์‚ฌ๋žŒ์˜ ์ด๋ฆ„์„ ์ €์žฅํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐ์ดํ„ฐ ์ŠคํŠธ๋Ÿญ์ณ ๋งŒ๋“ค๊ธฐ   import java.util.ArrayList; //ArrayList ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ž„ํฌํŠธpublic class ArrayListMain { public static void main(String[] args) { // ๋ฐ์ดํ„ฐ ์ถ”๊ฐ€ nameList..

Java 2024.06.03

์ž๋ฐ”์˜ ๋ฌธ์ž์—ด(String) ๋ฐ์ดํ„ฐ ๊ฐ€๊ณตํ•˜๊ธฐ

์ž๋ฐ”์—์„œ ๋ฌธ์ž์—ด ์ƒ์„ฑ ๋ฐฉ๋ฒ• 2๊ฐ€์ง€String str1 = "Hello";String str2 = new String("Hello"); ๋ฌธ์ž์—ด ๋ถ™์ด๋Š” ๋ฐฉ๋ฒ•String result = str1 + " " + str2;System.out.println(result);**** ๋ฌธ์ž์—ด์„ ์ˆซ์ž๋กœ ๋ฐ”๊พธ๋Š” ๋ฐฉ๋ฒ• ****String str3 = "317";int a = Integer.valueOf(str3).intValue(); //๋ฐฉ๋ฒ• 1System.out.println(a + 10);a = Integer.parseInt(str3); //๋ฐฉ๋ฒ• 2System.out.println(a + 10); String str4 = "3.17";double b = Double.valueOf(str4).doubleValue(); //..

Java 2024.06.03

์ž๋ฐ” ๊ฐ์ฒด ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์—์„œ Interface(์ธํ„ฐํŽ˜์ด์Šค)๋ฅผ ํ™œ์šฉํ•˜๊ธฐ

Interface์˜ ์‚ฌ์šฉ ๋ชฉ์ ๊ณผ ์ •์˜ - ์ธํ„ฐํŽ˜์ด์Šค๋Š” ์—ฌ๋Ÿฌ ๊ฐœ์˜ ํด๋ž˜์Šค๊ฐ€ ๋™์ผํ•œ ๋ฉ”์„œ๋“œ๋ฅผ ๊ตฌํ˜„ํ•˜๋„๋ก ๊ฐ•์ œํ•  ๋•Œ,   ์ฆ‰ ์ผ๊ด€๋œ ๋ฐฉ๋ฒ•์œผ๋กœ ์„œ๋กœ ๋‹ค๋ฅธ ํด๋ž˜์Šค๋“ค์„ ๋‹ค๋ฃฐ ๋•Œ ์ฃผ๋กœ ์‚ฌ์šฉ๋œ๋‹ค. - ์ธํ„ฐํŽ˜์ด์Šค๋Š” ํด๋ž˜์Šค๊ฐ€ ๊ตฌํ˜„ํ•ด์•ผ ํ•˜๋Š” ๋ฉ”์„œ๋“œ์˜ ๋ชฉ๋ก์„ ์ •์˜ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋œ๋‹ค.  - ๋ฉค๋ฒ„๋ณ€์ˆ˜๊ฐ€ ์ƒ์ˆ˜์™€ ํ•จ์ˆ˜(๋ฉ”์†Œ๋“œ)๋กœ๋งŒ ์ด๋ฃจ์–ด์ ธ์žˆ์–ด์•ผ interface๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. - ์ฆ‰, ๋ณ€์ˆ˜๋Š” ์„ ์–ธ๋  ๋•Œ ์ดˆ๊ธฐํ™”๋˜์–ด์•ผ ํ•˜๋ฉฐ, ์ดํ›„ ๋ณ€๊ฒฝ๋  ์ˆ˜ ์—†๋‹ค   - ์ƒ์ˆ˜(constant)๋ž€?  : ํ•œ๋ฒˆ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๋ฉด, ๊ทธ ๋‹ค์Œ๋ถ€ํ„ฐ๋Š” ์‚ฌ์šฉ๋งŒ ํ•  ์ˆ˜ ์žˆ๋‹ค. : ์ฆ‰ ํ•œ๋ฒˆ ์ €์žฅํ•˜๋ฉด ๋‹ค๋ฅธ๊ณณ์—์„œ ๋ฐ์ดํ„ฐ๊ฐ’์„ ๋ฐ”๊พธ๋ฉด ์•ˆ๋œ๋‹ค. : ์ƒ์ˆ˜๋Š” ์ผ๋ฐ˜์ ์œผ๋กœ ๋Œ€๋ฌธ์ž๋กœ ์ž‘์„ฑ๋œ๋‹ค.    Interface ์‚ฌ์šฉํ•˜๊ธฐ  ์•„๋ž˜์™€ ๊ฐ™์ด ์—ฌ๋Ÿฌ๊ฐœ์˜ ํด๋ž˜์Šค๋ฅผ ์ƒ์†๋ฐ›์œผ๋ ค๊ณ  ํ•˜๋ฉด ์˜ค๋ฅ˜๊ฐ€ ..

Java 2024.06.03

์ž๋ฐ”์˜ ์ถ”์ƒํ™”(Abstract)์˜ ์šฉ๋„์™€ ๋ฐฉ๋ฒ•

๋‹ค๋ฅธ์‚ฌ๋žŒ๊ณผ ํ˜‘์—…ํ•  ์‹œ์—, ํ•œ ์‚ฌ๋žŒ์ด ํฐ ํ‹€์„ ๋งŒ๋“ค์–ด๋†“๊ณ  ๋‚ด์šฉ์€ ๋‹ค๋ฅธ์‚ฌ๋žŒ์ด ์ ๋„๋ก ๋งŒ๋“œ๋Š”๋ฐ, "ํ‹€"๋งŒ ๋งŒ๋“ค ๋•Œ ์ถ”์ƒํ™”๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด๋‹ค.    ํ‹€์„ ๋งŒ๋“ค ๋•Œ, ๋‚ด์šฉ์€ ์ ์ง€ ์•Š๊ณ  abstract๋ฅผ ๋ถ™์ด๊ณ  ํด๋ž˜์Šค ์•ž์—๋„ abstract๋ฅผ ๋ถ™์—ฌ ๋†“์œผ๋ฉด   ๋‹ค์Œ ์‚ฌ๋žŒ(๋‚ด์šฉ์„ ๋งŒ๋“œ๋Š” ์‚ฌ๋žŒ)์ด ์ถ”์ƒํด๋ž˜์Šค๊ฐ€ ๋“ค์–ด์žˆ๋Š” ํด๋ž˜์Šค๋ฅผ ์ƒ์†ํ•˜๋Š” ์ˆœ๊ฐ„,  Parent์— ๋นจ๊ฐ„ ๋ฐ‘์ค„์ด ๋œจ๋Š”๋ฐ, print()๋ผ๋Š” ํ•จ์ˆ˜๋ฅผ ๋งŒ๋“ค์–ด์•ผ ํ•œ๋‹ค๊ณ  ๋œฌ๋‹ค. ์ฆ‰ print์— ๋Œ€ํ•œ ๋‚ด์šฉ์€ Parent ํด๋ž˜์Šค๋ฅผ ๋งŒ๋“œ๋Š” ์‚ฌ๋žŒ์ด ์ž‘์„ฑํ•˜์—ฌ์•ผ ํ•˜๋Š” ๊ฒƒ์ด๋‹ค.   print() ํ•จ์ˆ˜ ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ, abstract๊ฐ€ ๋ถ™์€ ํ•จ์ˆ˜๋Š” (ex hello) ์•„๋ž˜์ฒ˜๋Ÿผ ๋ชจ๋‘ ๋‚ด์šฉ์„ ์ž‘์„ฑํ•˜์—ฌ์•ผ ํ•œ๋‹ค.    main์„ ์ž‘์„ฑํ•˜์—ฌ ์‹คํ–‰ํ•˜๋ฉด,    ๊ฒฐ๊ณผ๊ฐ€ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ถœ๋ ฅ๋œ๋‹ค.

Java 2024.06.03

์ž๋ฐ” ๋ฉ”์†Œ๋“œ ์˜ค๋ฒ„๋ผ์ด๋”ฉ(Method Overriding) ํ•˜๋Š” ๋ฐฉ๋ฒ•

๋ฉ”์†Œ๋“œ ์˜ค๋ฒ„๋ผ์ด๋”ฉ(Method Overriding)  ๋ถ€๋ชจํด๋ž˜์Šค์˜ ๋ณ€์ˆ˜๋Š” name, age, money์ด๊ณ , ์ž๋…€ํด๋ž˜์Šค์˜ ๋ณ€์ˆ˜๋Š” ๋ถ€๋ชจ์—๊ฒŒ ์ƒ์†๋ฐ›์€ ๋ณ€์ˆ˜์™€ ์ž๋…€ํด๋ž˜์Šค์˜ ๋ณ€์ˆ˜์ธ hobby๊ฐ€ ์žˆ๋‹ค.   ๊ทธ๋Ÿฐ๋ฐ, ์ƒ์„ฑ์ž ์ž์ฒด๋ฅผ ๋งŒ๋“ค์ง€ ์•Š๊ณ , ๋ถ€๋ชจ์˜ ์ƒ์„ฑ์ž๋ฅผ ์ด์–ด๋ฐ›์•„ ์“ฐ๊ณ ์‹ถ๋‹ค. ๋‹ค์‹œ ๋งํ•ด์„œ c.printChild();๋ฅผ ์“ฐ์ง€ ์•Š๊ณ (์ƒˆ๋กœ์šด ํ•จ์ˆ˜๋ฅผ ๋งŒ๋“ค์ง€ ์•Š๊ณ ), ๋ถ€๋ชจ์˜ print ํ•จ์ˆ˜๋ฅผ ์“ฐ๊ณ ์‹ถ๋‹ค. ์ด์ฒ˜๋Ÿผ ์ƒˆ๋กœ์šด ํ•จ์ˆ˜๋ฅผ ๋งŒ๋“ค์ง€ ์•Š์•„๋„ ๋ถ€๋ชจ์˜ ํ•จ์ˆ˜๋ฅผ ์‘์šฉํ•ด์„œ ์“ธ ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์„ ๋ฉ”์†Œ๋“œ ์˜ค๋ฒ„๋ผ์ด๋”ฉ์ด๋ผ๊ณ  ํ•œ๋‹ค.      ๊ธฐ์กด์— ์žˆ๋˜ printChild ํ•จ์ˆ˜ ๋ถ€๋ถ„์„ ์ง€์šฐ๊ณ , ๋ถ€๋ชจ์˜ childํ•จ์ˆ˜๋ฅผ ์˜ค๋ฒ„๋ผ์ด๋”ฉ ํ•  ๊ฒƒ์ด๋‹ค.    ์˜ค๋ฒ„๋ผ์ด๋”ฉ ํ•  ๋•Œ์—๋Š” @Override๋ฅผ ๋ถ™์ด๋Š” ์ด์œ ๋Š”, ๋‹ค๋ฅธ ์‚ฌ๋žŒ๊ณผ ํ˜‘์—…ํ•  ๋•Œ ์˜ค๋ฒ„๋ผ์ด๋”ฉํ–ˆ๋‹ค๋Š” ๊ฒƒ์„..

Java 2024.06.03