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

ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๊ณต๋ถ€/Java

(29)
๋žŒ๋‹ค์‹(Lambda Expression) Ex87 ~ Ex90 ๋žŒ๋‹ค์‹, Lambda Expression - ํ•จ์ˆ˜ํ˜• ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๋ฐฉ์‹์„ ์ง€์›ํ•˜๋Š” ํ‘œํ˜„์‹ - ๋žŒ๋‹ค์‹์„ ์‚ฌ์šฉํ•˜๋ฉด ์ฝ”๋“œ ์ผ๋ถ€๊ฐ€ ๊ฐ„๊ฒฐํ•ด์ง„๋‹ค.(ํ˜ธ๋ถˆํ˜ธ) - Java 8 ์ถœ์‹œ - ๋ชฉ์  > ์ปฌ๋ ‰์…˜(๋ฐฐ์—ด) ์กฐ์ž‘ - ์ž๋ฐ”์˜ ๋ฉ”์†Œ๋“œ๋ฅผ ํ‘œํ˜„ํ•˜๋Š” ๋ฐฉ๋ฒ• ์ค‘ ํ•˜๋‚˜๋กœ ์‚ฌ์šฉ - ๋žŒ๋‹ค์‹์€ ๋ฉ”์†Œ๋“œ๋ฅผ ๋Œ€์‹ ํ•˜๋Š” ์ฝ”๋“œ๋ธ”๋Ÿญ์ด๋‹ค. - ์ž๋ฐ”์˜ ๋žŒ๋‹ค์‹์€ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์‚ฌ์šฉํ•ด์„œ ๋งŒ๋“ ๋‹ค. - ์ž๋ฐ”์˜ ๋žŒ๋‹ค์‹์€ ์ต๋ช… ๊ฐ์ฒด(์ถ”์ƒ ๋ฉ”์†Œ๋“œ)๋ฅผ ๋งŒ๋“œ๋Š” ํ‘œํ˜„์„ ๊ฐ„์†Œํ™”์‹œํ‚จ ๊ธฐ์ˆ ์ด๋‹ค. - ๋žŒ๋‹ค์‹์„ ์ €์žฅํ•˜๋Š” ์ธํ„ฐํŽ˜์ด์Šค๋Š” ๋ฐ˜๋“œ์‹œ Fuctional Interface์ด์–ด์•ผ ํ•œ๋‹ค.(์ถ”์ƒ ๋ฉ”์†Œ๋“œ๋ฅผ ๋”ฑ 1๊ฐœ๋งŒ ๊ฐ€์ ธ์•ผํ•ฉ๋‹ˆ๋‹ค.) > ๋žŒ๋‹ค์‹ ํ˜•์‹ - ์ธํ„ฐํŽ˜์ด์Šค ๋ณ€์ˆ˜ = ๋žŒ๋‹ค์‹ - MyInterface m3 = () -> {}; (๋งค๊ฐœ๋ณ€์ˆ˜) -> {๊ตฌํ˜„๋ถ€}; a. (๋งค..
LinkedList, TreeSet, TreeMap Ex84 ~ Ex86 Collection(I) ์ž๋ฐ”์˜ LinkedList LinkedList ์‚ฌ์šฉ private static void m1() { ArrayList list1 = new ArrayList(); list1.add(100); list1.add(200); list1.add(300); System.out.println(list1.size()); System.out.println(list1.get(0)); System.out.println(list1.get(1)); System.out.println(list1.get(2)); LinkedList list2 = new LinkedList(); list2.add(100); list2.add(200); list2.add(300); System.out.p..
์ต๋ช… ํด๋ž˜์Šค(Anonymous Class), Sort Ex82 ~ Ex83 ์ต๋ช… ๊ฐ์ฒด, Anonymous Object - ์ต๋ช… ํด๋ž˜์Šค, Anonymous Class - ์ด๋ฆ„์ด ์—†๋Š” ํด๋ž˜์Šค - ๋ฐ˜๋“œ์‹œ ์ธํ„ฐํŽ˜์ด์Šค๊ฐ€ ํ•„์š”ํ•˜๋‹ค.(์ž๋ฐ” ํŠน์„ฑ) ์‹ค๋ช… ํด๋ž˜์Šค 1. ๊ฐ์ฒด๋ฅผ N๊ฐœ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค. - ํด๋ž˜์Šค ์„ ์–ธ > ๊ฐ์ฒด ์ƒ์„ฑ ์ต๋ช… ํด๋ž˜์Šค 1. ๊ฐ์ฒด๋ฅผ ๋”ฑ 1๊ฐœ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค. - ํด๋ž˜์Šค ์„ ์–ธ + ๊ฐ์ฒด ์ƒ์„ฑ ํ”„๋กœ์ ํŠธ - ํด๋ž˜์Šค ๊ฐœ์ˆ˜ + ๋งŽ์Œ > ์ˆ˜๋ฐฑ๊ฐœ~์ˆ˜์ฒœ๊ฐœ ์ด์ƒ - ์ด๋ฆ„ ์ง“๊ธฐ.. > ์˜์–ด + ์˜๋ฏธ //์š”๊ตฌ์‚ฌํ•ญ] ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๊ตฌํ˜„ํ•œ ํด๋ž˜์Šค ์„ ์–ธํ•˜๊ธฐ > ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•˜๊ธฐ(๋ชฉ์ ) //1. ๋ณธ์ธ ํƒ€์ž…์˜ ์ฐธ์กฐ ๋ณ€์ˆ˜ BB o1 = new BB(); o1.aaa(); //2. ๋ถ€๋ชจ ํƒ€์ž…์˜ ์ฐธ์กฐ ๋ณ€์ˆ˜ AA o2 = new BB(); //์—…์บ์ŠคํŒ…(๋ถ€๋ชจ๊ฐ€ ์ธํ„ฐํŽ˜์ด์Šค์ผ ๊ฒฝ์šฐ ์—…์บ์ŠคํŒ… ํ”ํ•˜๊ฒŒํ•จ) ..
[18์ผ์ฐจ] File (1), ์žฌ๊ท€ ๋ฉ”์†Œ๋“œ Ex80 File ํŒŒ์ผ/๋””๋ ‰ํ† ๋ฆฌ ์กฐ์ž‘, ํŒŒ์ผ ์ž…์ถœ๋ ฅ ํŒŒ์ผ ์ •๋ณด //ํŒŒ์ผ ๊ฒฝ๋กœ String path = "C:\\class\\code\\java\\file\\test.txt"; //ํŒŒ์ผ ์ฐธ์กฐ ๊ฐ์ฒด > java.io.File ํด๋ž˜์Šค File file = new File(path); //ํ•ด๋‹น ๊ฒฝ๋กœ์— ํŒŒ์ผ์ด ์‹ค์ œ๋กœ ์กด์žฌํ•˜๋Š”์ง€? //System.out.println(file.exists()); if (file.exists()) { //ํŒŒ์ผ ์กฐ์ž‘ System.out.println("ํŒŒ์ผ ์žˆ์Œ"); System.out.println(file.getName()); //test.txt System.out.println(file.isFile()); //true > ํŒŒ์ผ์ธ์ง€ System.out.println(file.isD..
[18์ผ์ฐจ] HashMap, HashSet HashMap - ์š”์†Œ ์ ‘๊ทผ ๋ฐฉ๋ฒˆํ˜ธ๊ฐ€ ์—†์Œ > ์ˆœ์„œ๋ฅผ ์•Œ ์ˆ˜ ์—†๋‹ค. ex) ํ–‡๋‹˜๋ฐ˜, ๋‹ฌ๋‹˜๋ฐ˜, ๋ณ„๋‹˜๋ฐ˜ - ๋ฐฉ์ด๋ฆ„ > ์˜๋ฏธ ๋ช…ํ™• - ๋ฐฉ์ด๋ฆ„ > ๋ฃจํ”„ ๋ถˆ๊ฐ€๋Šฅ - ์š”์†Œ > ํ‚ค(key) + ๊ฐ’(value) - ํ‚ค(key)๋Š” ์œ ์ผํ•˜๋‹ค. - ๊ฐ’(value)์€ ์ค‘๋ณต์ด ๊ฐ€๋Šฅํ•˜๋‹ค. > ํ‚ค๊ฐ€ ์œ ์ผํ•ด์„œ.. HashMap์˜ ์‚ฌ์šฉ //HashMap ์‚ฌ์šฉ๋ฒ• HashMap map = new HashMap(); //1. ์š”์†Œ ์ถ”๊ฐ€ํ•˜๊ธฐ map.put("red", "๋นจ๊ฐ•"); map.put("yellow", "๋…ธ๋ž‘"); map.put("blue", "ํŒŒ๋ž‘"); //2. ์š”์†Œ ๊ฐœ์ˆ˜ System.out.println(map..
[17์ผ์ฐจ] ์ปฌ๋ ‰์…˜ - ArrayList, Stack, Queue Ex73 ~ Ex77 ์ปฌ๋ ‰์…˜, Colloection ๋”๋ณด๊ธฐ ์ปฌ๋ ‰์…˜, Colloection - JCF, Java Collection Framework - (ํ–ฅ์ƒ๋œ) ๋ฐฐ์—ด - ๊ธฐ์กด์˜ ์ˆœ์ˆ˜ ๋ฐฐ์—ด > ์„ฑ๋Šฅ, ์‚ฌ์šฉ๋ฒ• ๋“ฑ ๊ฐœ๋Ÿ‰ > ํด๋ž˜์Šค - ๊ธธ์ด ๊ฐ€๋ณ€ > ๋ฐฉ์˜ ๊ฐœ์ˆ˜๋ฅผ ๋งˆ์Œ๋Œ€๋กœ ๋Š˜๋ฆฌ๊ฑฐ๋‚˜ ์ค„์ด๋Š”๊ฒŒ ๊ฐ€๋Šฅ ์ปฌ๋ ‰์…˜ ์ข…๋ฅ˜ 1. List ๊ณ„์—ด - ์ˆœ์„œ๊ฐ€ ์žˆ๋Š” ์ง‘ํ•ฉ - ์ฒจ์ž(๋ฐฉ๋ฒˆํ˜ธ) index ์‚ฌ์šฉ - ๋ฐ์ดํ„ฐ ์ค‘๋ณต์„ ํ—ˆ์šฉํ•œ๋‹ค. - ArrayList(*****) : ์ˆœ์„œO, ๋ฐฐ์—ด์˜ ๊ธธ์ด ๊ฐ€๋ณ€์ , - Serializable, Cloneable, Iterable, Collection, List, RandomAccess - LinkedList - Queue - Stack - Vector(legacy,, ์•ˆ์”€) 2. Set ๊ณ„์—ด - ์ˆœ์„œ..
[16์ผ์ฐจ] ์ œ๋„ค๋ฆญ(Generic), ํ–ฅ์ƒ๋œ for๋ฌธ, ์˜ˆ์™ธ์ฒ˜๋ฆฌ(Exception handeling) Ex69 ~ Ex72 ์ œ๋„ค๋ฆญ(Generic) - ๋‹ค๋ฃฐ ๊ฐ์ฒด์˜ ํƒ€์ž…์„ ๋ฏธ๋ฆฌ ๋ช…ํ•ด์‹œ์คŒ์œผ๋กœ์จ ๋ฒˆ๊ฑฐ๋กœ์šด ํ˜•๋ณ€ํ™˜์„ ์ค„์—ฌ์ค€๋‹ค. ์ œ๋„ค๋ฆญ ํด๋ž˜์Šค์˜ ์„ ์–ธ class Box { //์ œ๋„ค๋ฆญ ํƒ€์ž… T๋ฅผ ์„ ์–ธ T item; void setItem(T item) { this.item = item; } T getItem() { return item; } } - Box์—์„œ T๋ฅผ ํƒ€์ž… ๋ณ€์ˆ˜(type variable)์ด๋ผ๊ณ  ํ•œ๋‹ค. ์˜ˆ์‹œ ๋”๋ณด๊ธฐ ์ œ๋„ค๋ฆญ์€ ํ˜•๋ณ€ํ™˜ ์•ˆํ•ด๋„ ๋จ WrapperObject n2 = new WrapperObject(20); System.out.println(n2.getData()); System.out.println((int)n2.getData() * 2); System.out.println(n2.toString()..
[16์ผ์ฐจ] ์ถ”์ƒ ํด๋ž˜์Šค(abstract class), ์ƒ์†, ์—ด๊ฑฐํ˜•(enumeration) Ex66 ~ Ex71 ์ถ”์ƒํด๋ž˜์Šค(abstract class) - ๊ตฌํ˜„ ๋ฉค๋ฒ„๋ฅผ ๊ฐ€์งˆ ์ˆ˜ ์žˆ๋‹ค.(=์ผ๋ฐ˜ ํด๋ž˜์Šค์˜ ์„ฑ์งˆ) - ์ถ”์ƒ ๋ฉค๋ฒ„๋ฅผ ๊ฐ€์งˆ ์ˆ˜ ์žˆ๋‹ค.(=์ธํ„ฐํŽ˜์ด์Šค์˜ ์„ฑ์งˆ) - ์ธ์Šคํ„ด์Šค๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์—†๋‹ค. - ์ถ”์ƒ๋ฉ”์„œ๋“œ๋ฅผ ํฌํ•จํ•˜๊ณ  ์žˆ์ง€ ์•Š์•„๋„ abstract ํ‚ค์›Œ๋“œ๋ฅผ ๋ถ™์—ฌ ์ถ”์ƒํด๋ž˜์Šค๋กœ ์ง€์ • ๊ฐ€๋Šฅ. (์ด๋•Œ์—๋„ ์ธ์Šคํ„ด์Šค ์ƒ์„ฑ ๋ถˆ๊ฐ€๋Šฅ) ํ‚ค์›Œ๋“œ abstract๋ฅผ ๋ถ™์ด๊ธฐ๋งŒ ํ•˜๋ฉด ๋œ๋‹ค. abstract class ํด๋ž˜์Šค์ด๋ฆ„ { ... } ์ถ”์ƒ๋ฉ”์†Œ๋“œ(abstract method) ์„ ์–ธ๋ถ€๋งŒ ์ž‘์„ฑํ•˜๊ณ  ๊ตฌํ˜„๋ถ€๋Š” ์ž‘์„ฑํ•˜์ง€ ์•Š์€ ์ฑ„๋กœ ๋‚จ๊ฒจ๋‘” ๋ฏธ์™„์„ฑ ๋ฉ”์„œ๋“œ - ์ถ”์ƒํด๋ž˜์Šค๋กœ๋ถ€ํ„ฐ ์ƒ์†๋ฐ›๋Š” ์ž์†ํด๋ž˜์Šค๋Š” ์˜ค๋ฒ„๋ผ์ด๋”ฉ์„ ํ†ตํ•ด ์กฐ์ƒ์ธ ์ถ”์ƒํด๋ž˜์Šค์˜ ์ถ”์ƒ๋ฉ”์„œ๋“œ๋ฅผ ๋ชจ๋‘ ๊ตฌํ˜„ํ•ด์ฃผ์–ด์•ผ ํ•œ๋‹ค. ์ถ”์ƒ๋ฉ”์„œ๋“œ ์ค‘ ํ•˜๋‚˜๋ผ๋„ ๊ตฌํ˜„ํ•˜์ง€ ์•Š๋Š”๋‹ค๋ฉด, ์ž์†ํด๋ž˜์Šค ์—ญ์‹œ ..