๐Ÿผ๋ฐฑ์•ค๋“œ/Java ๋ฌธ๋ฒ•

IO๋ž€? Input & Output Java IO๋„ ๊ฐ์ฒด์ด๋‹ค. Decorator ํŒจํ„ด์œผ๋กœ ๋งŒ๋“ค์–ด์กŒ๋‹ค. ConcreteComponent - ์ฃผ์ธ๊ณต Decorator - ์žฅ์‹ , component์—ญํ• ์„ ๊ฐ€์งˆ ์ˆ˜ ์žˆ๋‹ค. ์ฃผ์ธ๊ณต๊ณผ ์žฅ์‹์„ ๊ตฌ๋ถ„ํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•œ๋‹ค. InputStream, OutputStream, Reader, Writer: ์ถ”์ƒํด๋ž˜์Šค์—ฌ์„œ new๋กœ ๊ฐ์ฒด ์ƒ์„ฑ ๋ถˆ๊ฐ€๋Šฅํ•˜๋ฉฐ, Component์— ํ•ด๋‹น ์ฃผ์ธ๊ณต์€ ์–ด๋–ค ๋Œ€์ƒ์—๊ฒŒ์„œ ์ฝ์–ด๋“ค์ผ์ง€, ์“ธ์ง€๋ฅผ ๊ฒฐ์ •ํ•˜๊ณ , 1byte or byte[] , 1char or char[]๋‹จ์œ„๋กœ ์ฝ๊ณ  ์“ฐ๋Š” ๋ฉ”์†Œ๋“œ๋ฅผ ๊ฐ€์ง„๋‹ค. ์žฅ์‹์€ InputStream, OutputStream, Reader, Write๋ฅผ ์ƒ์„ฑ์ž์—์„œ ๋ฐ›์•„๋“ค์ด๊ณ  ๋‹ค์–‘ํ•œ ๋ฐฉ์‹์œผ๋กœ ์ฝ๊ณ  ์“ฐ๋Š” ๋ฉ”์†Œ๋“œ๋ฅผ ๊ฐ€์ง„๋‹ค. Java..
์ฃผ์„๋ฌธ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์‹คํ–‰๊ณผ๋Š” ์ƒ๊ด€ ์—†๋Š” ๋ฌธ์žฅ์œผ๋กœ ํ”„๋กœ๊ทธ๋žจ์— ์„ค๋ช…์„ ๋ถ™์ด๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•œ๋‹ค. ์ž๋ฐ”์˜ ์ฃผ์„๋ฌธ ์ฃผ์„๊ธฐํ˜ธ ์„ค๋ช… // //๋ถ€ํ„ฐ ์‹œ์ž‘ํ•ด์„œ ์ค„ ๋๊นŒ์ง€ ์ฃผ์„์ฒ˜๋ฆฌ /* ... */ /*์™€ */ ์‚ฌ์ด์˜ ๋‚ด์šฉ์ด ๋ชจ๋‘ ์ฃผ์„์ฒ˜๋ฆฌ /** ... */ /**์™€ */์‚ฌ์ด์˜ ๋‚ด์šฉ์ด ๋ชจ๋‘ ์ฃผ์„์ฒ˜๋ฆฌ JavaDoc ์ฃผ์„๋ฌธ JavaDoc ์ฃผ์„๋ฌธ์—์„œ ์‚ฌ์šฉํ•˜๋Š” ํƒœ๊ทธ๋“ค annotation ์„ค๋ช… @version ํด๋ž˜์Šค๋‚˜ ๋ฉ”์†Œ๋“œ์˜ ๋ฒ„์ „ @author ์ž‘์„ฑ์ž @deprecated ๋”์ด์ƒ ์‚ฌ์šฉ๋˜์ง€ ์•Š๊ฑฐ๋‚˜, ์‚ญ์ œ๋  ์˜ˆ์ • @since ์–ธ์ œ ์ƒ์„ฑ, ์ถ”๊ฐ€, ์ˆ˜์ •๋˜์—ˆ๋Š”๊ฐ€? @see ์™ธ๋ถ€ ๋งํฌ๋‚˜ ํ…์ŠคํŠธ, ๋‹ค๋ฅธ ํ•„๋“œ๋‚˜ ๋ฉ”์†Œ๋“œ ๋งํฌ์‹œ ์‚ฌ์šฉ @link see์™€ ๋™์ผ ๊ธฐ๋Šฅ. ๋งํฌ ์ œ๊ณต @exception ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋Š” Exception ์ •์˜ IntelliJ..
public class ObjectBox { private Object object; public void set(Object obj) { this.object = object; } public Object get() { return this.object; } } Object์˜ ํ›„์†์€ ๋‹ค ๊บผ๋‚ผ์ˆ˜ ์žˆ๋‹ค. ๋‹จ, ๊บผ๋‚ผ ๋•Œ ์›๋ž˜ ํƒ€์ž…์œผ๋กœ ๋ฐ”๊ฟ”์•ผ ํ•œ๋‹ค. import javax.swing.*; public class ObjectBoxMain { public static void main(String[] args) { ObjectBox box = new ObjectBox(); box.set("kim"); String str = (String)box.get(); //๋ฌธ์ž์—ด๊ฐ์ฒด๋ฅผ ๋„ฃ์–ด์คฌ๊ธฐ ๋•Œ๋ฌธ์— ๊บผ๋‚ผ๋•Œ๋„ String ํƒ€..
- ๋ฐฐ์—ด์„ ๋‹ค๋ฃจ๋Š” Arraysํด๋ž˜์Šค ์‚ฌ์šฉํ•˜๊ธฐ - ๋ฐฐ์—ด ๋ณต์‚ฌ - ๋ฐฐ์—ด ๋น„๊ต - ๋ฐฐ์—ด ์ •๋ ฌ - ๋ช…๋ น ํ–‰ ์•„๊ทœ๋จผํŠธ (Command-Line Arguments)์˜ ๋ฐฐ์—ด - System.exit(0); ์˜๋ฏธ - ์ œํ•œ ์—†๋Š” ์•„๊ทœ๋จผํŠธ(unlimited arguments) - ๋ฉ”์†Œ๋“œ์— ์•„๊ทœ๋จผํŠธ๋ฅผ ๊ฐ€๋ณ€์ ์œผ๋กœ ์ „๋‹ฌํ•˜๊ธฐ Arrays.copyOfRange()๋ฉ”์†Œ๋“œ (๋ฐฐ์—ด์˜ ์ผ๋ถ€๋ถ„๋งŒ ๋ณต์‚ฌ) import java.util.Arrays; //java.lang ํŒจํ‚ค์ง€์˜ ํด๋ž˜์Šค ์ œ์™ธํ•œ ๋ชจ๋“  ํด๋ž˜์Šค import ํ•„์š” public class Array15 { public static void main(String[] args) { char[] copyFrom = {'h','e','l','l','o','!'}; char[] copyTo =..
-๊ธฐ๋ณธํ˜• ํƒ€์ž… ๋ฐฐ์—ด -์ฐธ์กฐํ˜• ํƒ€์ž… ๋ฐฐ์—ด -2์ฐจ์› ๋ฐฐ์—ด -for each๋ฌธ -java.util.Arraysํด๋ž˜์Šค ๋ฐฐ์—ด์ด๋ž€? ์ฐธ์กฐํƒ€์ž…์œผ๋กœ, ๊ฐ™์€ ํƒ€์ž…์˜ ๋ณ€์ˆ˜๊ฐ€ ์—ฌ๋Ÿฌ๊ฐœ ํ•„์š”ํ•  ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค. ๋ฐฐ์—ด์€ ๊ธฐ๋ณธํ˜• ๋ฐฐ์—ด + ์ฐธ์กฐํ˜• ๋ฐฐ์—ด ์œผ๋กœ ์ด๋ฃจ์–ด์ง„๋‹ค. ๊ธฐ๋ณธํ˜• ๋ฐฐ์—ด ๊ธฐ๋ณธํ˜• ๋ฐฐ์—ด์ด๋ž€ boolean, byte, short, char, int, long, float, double ํƒ€์ž…์˜ ๋ณ€์ˆ˜๋ฅผ ์—ฌ๋Ÿฌ๊ฐœ ์„ ์–ธํ•  ํ•„์š”๊ฐ€ ์žˆ์„ ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค. ๊ธฐ๋ณธํ˜• ๋ฐฐ์—ด ์„ ์–ธ ๋ฐฉ๋ฒ• ๊ธฐ๋ณธํ˜•ํƒ€์ž…[] ๋ณ€์ˆ˜๋ช…; ๋˜๋Š” ๊ธฐ๋ณธํ˜•ํƒ€์ž… ๋ณ€์ˆ˜๋ช…[]; ์ดˆ๊ธฐ๊ฐ’ ๊ฐ€์ง€๊ณ  ์„ ์–ธํ•˜๊ธฐ 1๋ฒˆ ๊ธฐ๋ณธํ˜•ํƒ€์ž…[] ๋ณ€์ˆ˜๋ช… = new ๊ธฐ๋ณธํ˜•ํƒ€์ž…[๋ฐฐ์—ด์˜ํฌ๊ธฐ]; ๋ณ€์ˆ˜๋ช…[index๊ฐ’] = ๊ฐ’; 2๋ฒˆ ๊ธฐ๋ณธํ˜•ํƒ€์ž…[] ๋ณ€์ˆ˜๋ช… = new ๊ธฐ๋ณธํ˜•ํƒ€์ž…[]{๊ฐ’1, ๊ฐ’2,….}; 3๋ฒˆ ๊ธฐ๋ณธํ˜•ํƒ€์ž…[] ๋ณ€์ˆ˜๋ช… = ..
์ƒ์„ฑ์ž ์ธ์Šคํ„ด์Šค๋ฅผ ์ƒ์„ฑํ•  ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค. ํด๋ž˜์Šค ์ž‘์„ฑ์‹œ ์ƒ์„ฑ์ž๋ฅผ ๋งŒ๋“ค์ง€ ์•Š์œผ๋ฉด ๊ธฐ๋ณธ์ƒ์„ฑ์ž๊ฐ€ ์ƒ์„ฑ๋œ๋‹ค. ๊ธฐ๋ณธ ์ƒ์„ฑ์ž๋Š” ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ํ•˜๋‚˜๋„ ๋ฐ›์ง€ ์•Š๋Š” ์ƒ์„ฑ์ž์ด๋‹ค. ์ƒ์„ฑ์ž๋Š” ๋ฆฌํ„ดํƒ€์ž…์ด ์—†๊ณ , ํด๋ž˜์Šค์ด๋ฆ„๊ณผ ๊ฐ™๋‹ค. public class Car { private String name; public Car(){ System.out.println("์ž๋™์ฐจ ์ƒ์„ฑ"); } public Car(String name){ this.name = name; } public void printName(){ System.out.println("์ž๋™์ฐจ ์ด๋ฆ„: "+name); } } ------------------------------------- public class CarExam(){ public static void main(St..
์ธ์Šคํ„ด์Šค ํ•„๋“œ ํด๋ž˜์Šค ๋ฉ”์†Œ๋“œ(static O) vs ์ธ์Šคํ„ด์Šค ๋ฉ”์†Œ๋“œ(static X) ์ธ์Šคํ„ด์Šค ๋ณ„๋กœ ๋‹ค๋ฅด๊ฒŒ ๋™์ž‘ํ•ด์•ผ ํ•œ๋‹ค๋ฉด ์ธ์Šคํ„ด์Šค ๋ฉ”์†Œ๋“œ static๋ฉ”์†Œ๋“œ๋Š” ๊ฐ์ฒด ์ƒ์„ฑ์ด๋‚˜ ์œ ํ‹ธ๋ฆฌํ‹ฐ ๊ด€๋ จ์—์„œ ์‚ฌ์šฉ ๋  ๋•Œ๊ฐ€ ์žˆ๋‹ค. ๋˜๋„๋ก ์ธ์Šคํ„ด์Šค ๋ฉ”์†Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. ํ•„๋“œ(field) ํ•„๋“œ๋Š” ํด๋ž˜์Šค๊ฐ€ ๊ฐ€์ง€๋Š” ์†์„ฑ์ด๋‹ค. ๋‹ค๋ฅธ ์–ธ์–ด์—์„œ ๋ฉค๋ฒ„๋ณ€์ˆ˜์™€ ๊ฐ™๋‹ค. ํ•„๋“œ ์„ ์–ธ ๋ฐฉ๋ฒ• [์ ‘๊ทผ์ œํ•œ์ž][static][final] ํƒ€์ž… ํ•„๋“œ๋ช… [ = ์ดˆ๊ธฐ๊ฐ’] ; // []: ์ƒ๋žต ๊ฐ€๋Šฅํ•˜๋‹ค๋Š” ํ‘œ์‹œ ์ ‘๊ทผ์ œํ•œ์ž: public, protected, default, private ํ•„๋“œ๋ช…: ์‹๋ณ„์ž ๊ทœ์น™ ๋”ฐ๋ฆ„. ์ฒซ๊ธ€์ž ์†Œ๋ฌธ์ž๊ฐ€ ๊ด€๋ก€ ํƒ€์ž…:๊ธฐ๋ณธํ˜• or ์ฐธ์กฐํ˜• ์ดˆ๊ธฐ๊ฐ’์ด ์—†์„ ๊ฒฝ์šฐ: ์ฐธ์กฐํ˜•์ผ ๊ฒฝ์šฐ null / booleanํ˜•์ผ ๊ฒฝ์šฐ false / ๋‚˜๋จธ์ง€ ๊ธฐ๋ณธํ˜•์€ 0..
๊ฐ์ฒด,์ธ์Šคํ„ด์Šค, ๋ ˆํผ๋Ÿฐ์Šค ๋ณ€์ˆ˜, ํด๋ž˜์Šค ํด๋ž˜์Šค ๋ณ€์ˆ˜ : ํ•„๋“œ ๋‚ด์—์„œ static ํ‚ค์›Œ๋“œ์™€ ํ•จ๊ป˜ ์„ ์–ธ๋œ ๋ณ€์ˆ˜, static ๋ณ€์ˆ˜๋ผ๊ณ ๋„ ํ•œ๋‹ค. ์ธ์Šคํ„ด์Šค ๋ณ€์ˆ˜ : ํ•„๋“œ ๋‚ด์—์„œ ์„ ์–ธ๋œ ๋ณ€์ˆ˜ (static ํ‚ค์›Œ๋“œ ์—†์Œ) ์ง€์—ญ ๋ณ€์ˆ˜ : ๋ฉ”์„œ๋“œ ๋‚ด์— ํฌํ•จ๋œ ๋ชจ๋“  ๋ณ€์ˆ˜ ํด๋ž˜์Šค(class): ์„ค๊ณ„ ๋„๋ฉด. ์‹ค์ œ ๊ฐ์ฒด๊ฐ€ ์•„๋‹˜. ์„ค๊ณ„ ๋„๋ฉด์„ ๋ณด๊ณ  ์‹ค์ œ ์ฑ…์ƒ์„ ๋งŒ๋“ ๋‹ค. ์˜ค๋ธŒ์ ํŠธ(Object) or ์ธ์Šคํ„ด์Šค(Instance): ์ด๋ ‡๊ฒŒ ๋งŒ๋“ค์–ด์ง„ ์ฑ…์ƒ ๊ฐ์ฒด ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์ด๋ผ๊ณ  ๋งํ•จ: ์‹ค์ œ๋กœ ๋งŒ๋“ค์–ด์ง„ ํ˜„์‹ค์— ์žˆ๋Š” ๊ฐ์ฒด๋ฅผ ์ด์šฉํ•˜๋Š” ๊ฒƒ. ํ˜„์‹ค์— ์กด์žฌํ•  ์ธ์Šคํ„ด์Šค๊ฐ€ ์–ด๋–ป๊ฒŒ ๋™์ž‘ํ• ์ง€ ๊ณ ๋ฏผํ•˜๋Š” ๊ฒƒ ์ฐธ์กฐํ˜• ๋ณ€์ˆ˜(Reference Variable): ์ธ์Šคํ„ด์Šค๋ฅผ ํŠน๋ณ„ํ•œ ์ด๋ฆ„์œผ๋กœ ๋ถˆ๋Ÿฌ์ฃผ๊ณ  ์‹ถ๋‹ค. ์“ฐ๋ ˆ๊ธฐ(Garbage): ์ฐธ์กฐ๋˜์ง€ ์•Š์€ ์ธ์Šคํ„ด์Šค ์˜ค๋ธŒ์ ..
๊ณ„๋ž€์†Œ๋…„
'๐Ÿผ๋ฐฑ์•ค๋“œ/Java ๋ฌธ๋ฒ•' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๊ธ€ ๋ชฉ๋ก