java dip ์œ„๋ฐ˜์ด ๋ฌด์Šจ ๋ง์ผ๊นŒ
ยท
TIL/Java
DIP DIP(Dependency Inversion Principle)๋Š” SOLID ์›์น™ ์ค‘ ํ•˜๋‚˜๋กœ, ์˜์กด ๊ด€๊ณ„๋ฅผ ์—ญ์ „์‹œํ‚ค๋Š” ์›์น™ ์ด ์›์น™์€ ๊ณ ์ˆ˜์ค€ ๋ชจ๋“ˆ์€ ์ €์ˆ˜์ค€ ๋ชจ๋“ˆ์— ์˜์กดํ•ด์„œ๋Š” ์•ˆ ๋˜๋ฉฐ, ๋‘˜ ๋ชจ๋‘ ์ถ”์ƒํ™”์— ์˜์กดํ•ด์•ผ ํ•œ๋‹ค๋Š” ๊ฒƒ์„ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค. ์ถ”์ƒํ™”๋Š” ๊ตฌ์ฒด์ ์ธ ๊ตฌํ˜„์— ์˜์กดํ•ด์„œ๋Š” ์•ˆ ๋ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ์‹œ์Šคํ…œ์ด ์œ ์—ฐํ•˜๊ณ  ํ™•์žฅ ๊ฐ€๋Šฅํ•œ ๊ตฌ์กฐ๋ฅผ ๊ฐ–์ถœ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ์ œ ```java public class LightBulb { public void turnOn() { // ์ „๊ตฌ๋ฅผ ์ผœ๋Š” ๋™์ž‘ } } public class Switch { private LightBulb bulb; public Switch() { this.bulb = new LightBulb(); } public void operate() { bu..
java ๊ธฐ๋ณธํ˜• ๋ฐ์ดํ„ฐ ํƒ€์ž…, ์ฐธ์กฐํ˜• ๋ฐ์ดํ„ฐ ํƒ€์ž…
ยท
TIL/Java
๊ธฐ๋ณธํ˜• ๋ชจ๋‘ ์†Œ๋ฌธ์ž๋กœ ์‹œ์ž‘๋œ๋‹ค ๋น„๊ฐ์ฒด ํƒ€์ž…์ด๋ฏ€๋กœ null ๊ฐ’์„ ๊ฐ€์งˆ ์ˆ˜ ์—†๋‹ค. (๊ธฐ๋ณธ๊ฐ’์ด ์ •ํ•ด์ ธ ์žˆ์Œ) ๋ณ€์ˆ˜์˜ ์„ ์–ธ๊ณผ ๋™์‹œ์— ๋ฉ”๋ชจ๋ฆฌ ์ƒ์„ฑ ๋ชจ๋“  ๊ฐ’ ํƒ€์ž…์€ ๋ฉ”๋ชจ๋ฆฌ์˜ ์Šคํƒ(stack)์— ์ €์žฅ๋จ ์ €์žฅ๊ณต๊ฐ„์— ์‹ค์ œ ์ž๋ฃŒ ๊ฐ’์„ ๊ฐ€์ง„๋‹ค ํƒ€์ž… ๋ฉ”๋ชจ๋ฆฌํฌ๊ธฐ ๋ฐ์ดํ„ฐ ํ‘œํ˜„ ๋ฒ”์œ„ boolean ๋…ผ๋ฆฌ 1 byte true, false char ๋ฌธ์ž 1 byte 0 ~ 65,535 ๋ชจ๋“  ์œ ๋‹ˆ์ฝ”๋“œ ๋ฌธ์ž(์œ ๋‹ˆ์ฝ”๋“œ๋ผ 2๋ฐ”์ดํŠธ) byte ์ •์ˆ˜ 1 byte -128 ~ 127 short ์ •์ˆ˜ 2 byte -32,768 ~ 32,767 int ์ •์ˆ˜ 4 byte -2,147,483,648 ~ 2,147,483,647 long ์ •์ˆ˜ 8 byte -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807 f..
12์›” -1
ยท
TIL/ํšŒ๊ณ 
์ด๋ฒˆ์ฃผ ๋ฐฐ์šด ๋‚ด์šฉ List ์ˆœ์„œ ์œ ์ง€, ์ €์žฅ, ์ค‘๋ณต ์ €์žฅ O ArrayList, Vector, Stack, LinkedList ๋“ฑ Set ์ˆœ์„œ ์œ ์ง€, ์ €์žฅ, ์ค‘๋ณต ์ €์žฅ X HashSet, TreeSet ๋“ฑ List ํ‚ค์™€ ๊ฐ’์„ ์Œ์œผ๋กœ ์ €์žฅ, ์ˆœ์„œ ์œ ์ง€ X, ํ‚ค ์ค‘๋ณต ์ €์žฅ X HashMap, Hashtable, TreeMap, Properties ๋“ฑ ์ข‹์•˜๋˜ ์  ํ•˜๋ฃจํ•˜๋ฃจ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ๋ฅผ ํ’€์–ด๋ณด๊ธฐ๋กœ ํ–ˆ๋‹ค! ์ž๋ฃŒ๊ตฌ์กฐ ๊ณต๋ถ€ํ•˜๋‹ค๋ณด๋ฉด ๋‚˜์˜ค๋Š” ์ž๋ฃŒ๊ตฌ์กฐ์— ๋Œ€ํ•ด ํ•ญ์ƒ ๊ถ๊ธˆํ–ˆ์—ˆ๋‹ค. ์ฐพ์•„๋ด๋„ ์ž˜ ๋ชจ๋ฅด๊ฒ ๊ณ  ์–ด๋–ป๊ฒŒ ์“ฐ์ด๋Š”์ง€๋ฅผ ๋ชฐ๋ž๋Š”๋ฐ ์ด๋ฒˆ ๊ธฐํšŒ์— ์ฝ”๋“œ๋กœ ์•Œ๊ฒŒ ๋˜์–ด ์ข‹์•˜๋‹ค. ์•„์ง ์ ์šฉ๊ณผ ์‘์šฉ๊นŒ์ง€๋Š” ์–ด๋ ต์ง€๋งŒ ๊ฐœ๋…์„ ๋ช…ํ™•ํžˆ ์•Œ ์ˆ˜ ์žˆ์–ด ์ข‹์•˜๋‹ค. ์•„์‰ฌ์šด ์  ํ•˜๋ฃจํ•˜๋ฃจ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์•„์ง์€ ์–ด์ƒ‰ํ•œ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ ํ’€์ด .. ๋‹ต์„ ๋ณด๋ฉฐ ๋ฌธ์ œ..
java BufferedReader๋ฅผ ์ด์šฉํ•œ ์‚ฌ์น™์—ฐ์‚ฐ ๋งŒ๋“ค๊ธฐ
ยท
TIL/Java
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class ex01 { public static void main(String[] args) throws IOException { // 2๊ฐœ ์ •์ˆ˜ ์ž…๋ ฅ ๋ฐ›๊ณ , 1๊ฐœ์˜ ์—ฐ์‚ฐ์ž ์ž…๋ ฅ ๋ฐ›์•„์„œ ์‚ฌ์น™์—ฐ์‚ฐ ํ”„๋กœ๊ทธ๋žจ ์ž‘์„ฑํ•˜๊ธฐ System.out.println("์ˆซ์ž๋ฅผ ์ž…๋ ฅํ•˜์„ธ์š”"); BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int x = Integer.parseInt(br.readLine()); int y = Integer.parseInt(br.rea..
java StringTokenizer ๋ฌธ์ž์—ด ๋ถ„๋ฆฌํ•˜๊ธฐ
ยท
TIL/Java
StringTokenizer Java์—์„œ ๋ฌธ์ž์—ด์„ ํŠน์ • ๊ตฌ๋ถ„์ž(delimiter)๋ฅผ ๊ธฐ์ค€์œผ๋กœ ํ† ํฐ(token)์œผ๋กœ ๋‚˜๋ˆ„๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋Š” ํด๋ž˜์Šค ๋„์–ด์“ฐ๊ธฐ ๊ธฐ์ค€์œผ๋กœ ๋ฌธ์ž์—ด์„ ๋ถ„๋ฆฌ StringTokenizer st = new StringTokenizer(๋ฌธ์ž์—ด); ๊ตฌ๋ถ„์ž ์žˆ๋Š” ๊ฒฝ์šฐ StringTokenizer st = new StringTokenizer(๋ฌธ์ž์—ด, ๊ตฌ๋ถ„์ž); import java.util.StringTokenizer; public class StringTokenizerExample { public static void main(String[] args) { // ๋ฌธ์ž์—ด ์ƒ์„ฑ String inputString = "Java,Programming,Language"; // StringTokenizer๋ฅผ..
java ์ œ์–ด๋ฌธ
ยท
TIL/Java
์ œ์–ด๋ฌธ ๋น„๊ต๋ฌธ if ~ else ์„ ํƒ๋ฌธ switch case ๋ฐ˜๋ณต๋ฌธ while do while for ๊ธฐํƒ€ ๊ตฌ๋ถ„ break continue if if (์กฐ๊ฑด) { // ์กฐ๊ฑด์ด ์ฐธ์ผ ๋•Œ ์‹คํ–‰๋˜๋Š” ์ฝ”๋“œ } if else / else if if (์กฐ๊ฑด) { // ์กฐ๊ฑด์ด ์ฐธ์ผ ๋•Œ ์‹คํ–‰๋˜๋Š” ์ฝ”๋“œ } else { // ์กฐ๊ฑด์ด ๊ฑฐ์ง“์ผ ๋•Œ ์‹คํ–‰๋˜๋Š” ์ฝ”๋“œ } if (์กฐ๊ฑด1) { // ์กฐ๊ฑด1์ด ์ฐธ์ผ ๋•Œ ์‹คํ–‰๋˜๋Š” ์ฝ”๋“œ } else if (์กฐ๊ฑด2) { // ์กฐ๊ฑด2๊ฐ€ ์ฐธ์ผ ๋•Œ ์‹คํ–‰๋˜๋Š” ์ฝ”๋“œ } else { // ๋ชจ๋“  ์กฐ๊ฑด์ด ๊ฑฐ์ง“์ผ ๋•Œ ์‹คํ–‰๋˜๋Š” ์ฝ”๋“œ } switch case ํŠน์ • ๋ณ€์ˆ˜์˜ ๊ฐ’์„ ์—ฌ๋Ÿฌ ๊ฐ€์ง€ ๊ฒฝ์šฐ์— ๋”ฐ๋ผ ๋ถ„๊ธฐํ•˜์—ฌ ๊ฐ ๊ฒฝ์šฐ์— ๋งž๋Š” ์ฝ”๋“œ ๋ธ”๋ก์„ ์‹คํ–‰ switch (๋ณ€์ˆ˜) { case ๊ฐ’1: // ๊ฐ’1์— ํ•ด๋‹นํ•˜๋Š” ์ฝ”๋“œ br..
11์›” - 4
ยท
TIL/ํšŒ๊ณ 
์ด๋ฒˆ์ฃผ ๋ฐฐ์šด๊ฒƒ ํ™˜๊ฒฝ ์„ค์น˜(JDK, ์ดํด๋ฆฝ์Šค) ์ž๋ฃŒํ˜•, ํ˜•๋ณ€ํ™˜, ์ฃผ์„, ์•„์Šคํ‚ค์ฝ”๋“œ, ์ง„์ˆ˜ํ‘œ๊ธฐ, ์ถœ๋ ฅํ•จ์ˆ˜ ์—ฐ์‚ฐ์ž(๋‹จํ•ญ, ๋น„ํŠธ, ์‚ฐ์ˆ , SHIFT, ๊ด€๊ณ„, ๋…ผ๋ฆฌ, ์‚ผํ•ญ, ๋Œ€์ž…) ์˜ˆ์™ธ์ฒ˜๋ฆฌ Scanner ์ œ์–ด๋ฌธ ๋ฐฐ์—ด (1์ฐจ์›, 2์ฐจ์›) ๋‚œ์ˆ˜ ์ข‹์•˜๋˜ ์  Java ์‹œ์ž‘ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ ํ’€๊ธฐ ๊พธ์ค€ํ•œ ์Šคํ„ฐ๋”” ์•„์‰ฌ์šด ์  ๊ฑด๊ฐ• ๋‚ ์”จ๊ฐ€ ๊ธ‰๊ฒฉํ•˜๊ฒŒ ์ถ”์›Œ์ ธ ๊ณจ๊ณจ๊ณจ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ด์ „์— ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์ œ๋Œ€๋กœ ํ’€์–ด๋ณธ ์ ์€ ์—†๋‹ค. . ๊ทธ๋ ‡๊ธฐ์— ๋ฌธ์ œ์กฐ์ฐจ ์ดํ•ดํ•˜๋Š”๊ฒŒ ์–ด๋ ค์› ๋‹ค. ์š”๊ตฌ์‚ฌํ•ญ๊ณผ ๊ทธ๊ฑฐ์— ๋งž์€ ์ตœ์ ํ™” ํ’€์ด๋ฐฉ๋ฒ•.. ์•„์ง ์ž˜ ๋ชจ๋ฅด๊ฒ ๋‹ค. ๊ฐœ์„ ํ•  ์  ๋ณต์Šต ์ˆ˜์—… ์‹œ๊ฐ„ ๋•Œ ํ’€์–ด๋ณธ ๋ฌธ์ œ๋ฅผ ๋‹ค์‹œ ํ’€์–ด๋ณด๊ธฐ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๊ธฐ๋ณธ ๋‹ค์ง€๊ธฐ ๋‹ค์‹œ ์‹œ์ž‘ํ•ด๋ณด๊ธฐ ์ธ๊ฐ•๋„ ๋งŽ์œผ๋‹ˆ ์ฒœ์ฒœํžˆ ํ‚ต๊ณ ์ž‰ ์ฃผ๋ง๋งˆ๋‹ค ๊ทผ์ฒ˜ ์นดํŽ˜์—์„œ ๊ณต๋ถ€๋ฅผ ํ•˜๊ณ  ์žˆ๋‹ค. ๋ณต์Šตํ•  ๋‚ด์šฉ๋„ ๋Š˜์–ด๋‚˜๊ณ  ์˜ˆ์Šต๋„ ํ•ด์•ผํ•˜๊ณ  ๊ณผ์ œ๋ž‘ ..
Java ์ž๋ฐ” , scanner ํ™”๋ฉด์—์„œ ์ž…๋ ฅ ๋ฐ›๊ธฐ
ยท
TIL/Java
Scanner ํ™”๋ฉด์œผ๋กœ๋ถ€ํ„ฐ ๋ฐ์ดํ„ฐ๋ฅผ ์ž…๋ ฅ๋ฐ›๋Š” ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜๋Š” ํด๋ž˜์Šค Scanner ์ƒ์„ฑ import java.util.Scanner; // java.util์˜ Scanner ํด๋ž˜์Šค import import java.util.*; // java.util์— ์žˆ๋Š” ํด๋ž˜์Šค ๋ชจ๋‘ import java.util์— ๋˜์–ด ์žˆ์–ด import ํ•ด์ค˜์•ผ ํ•จ java.util.Scanner๋งŒ import ๋˜๋Š” * ์„ ํ™œ์šฉํ•˜์—ฌ util์˜ ๋ชจ๋“  ํด๋ž˜์Šค๋ฅผ importํ•˜๊ธฐ Scanner sc = new Scanner(System.in); // Scanner ๊ฐ์ฒด ์ƒ์„ฑ Scanner ๊ฐ์ฒด ์ƒ์„ฑ System.out.print("์ˆซ์ž๋ฅผ ์ž…๋ ฅํ•˜์„ธ์š”. >"); int num= sc.nextInt(); ์‚ฌ์šฉ์ž ์ž…๋ ฅ ๋ฐ›๊ธฐ https://docs...
๋ž˜๋‹ˆ
'TIL' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๊ธ€ ๋ชฉ๋ก (5 Page)