โถ ๋ณด์กฐ ์คํธ๋ฆผ
๋ณด์กฐ ์คํธ๋ฆผ์ ์ ์ถ๋ ฅ ๋์์ด ๋๋ ํ์ผ์ด๋ ๋คํธ์ํฌ์ ์ง์ ์ฐ๊ฑฐ๋ ์ฝ๋ ๊ธฐ๋ฅ์ ์๋ค. ๋ง ๊ทธ๋๋ก ๋ณด์กฐ ๊ธฐ๋ฅ์ ์ถ๊ฐํ๋ ์คํธ๋ฆผ์ด๋ค. ์ด ๋ณด์กฐ ๊ธฐ๋ฅ์ ์ฌ๋ฌ ์คํธ๋ฆผ์ ์ ์ฉํ ์ ์๋ค.
๋ณด์กฐ ์คํธ๋ฆผ์ ๋ค๋ฅธ ๋ง๋ก Wrapper ์คํธ๋ฆผ์ด๋ผ๊ณ ๋ ํ๋ค. ์ค์ค๋ก๋ ์ ์ถ๋ ฅ ๊ธฐ๋ฅ์ด ์๊ธฐ ๋๋ฌธ์ ์์ฑ์์ ๋งค๊ฐ๋ณ์๋ก ๋ค๋ฅธ ์คํธ๋ฆผ์ ๋ฐ๊ฒ ๋๋ฉด ์์ ์ด ๊ฐ์ธ๊ณ ์๋ ์คํธ๋ฆผ์ด ์ฝ๊ฑฐ๋ ์ฐ๋ ๊ธฐ๋ฅ์ ์ํํ ๋ ๋ณด์กฐ ๊ธฐ๋ฅ์ ์ถ๊ฐํ๋ค.
๋ณด์กฐ ์คํธ๋ฆผ์ ์์ฑ์์ ํญ์ ๊ธฐ๋ฐ ์คํธ๋ฆผ๋ง ๋งค๊ฐ๋ณ์๋ก ์ ๋ฌ๋๋ ๊ฒ์ ์๋๋ค. ๋๋ก๋ ๋ ๋ค๋ฅธ ๋ณด์กฐ ์คํธ๋ฆผ์ ๋งค๊ฐ๋ณ์๋ก ์ ๋ฌ๋ฐ์ ์๋ ์๋ค. ์ด๋ ์ ๋ฌ๋๋ ๋ ๋ค๋ฅธ ๋ณด์กฐ ์คํธ๋ฆผ์ ๋ด๋ถ์ ์ผ๋ก ๊ธฐ๋ฐ ์คํธ๋ฆผ์ ํฌํจํ๊ณ ์๋ค.
โ
โ
โ
*FilterInputStream๊ณผ FilterOutputStream
FilterInputStream๊ณผ FilterOutputStream์ ๋ณด์กฐ ์คํธ๋ฆผ์ ์์ ํด๋์ค์ด๋ค. ๋ชจ๋ ๋ณด์กฐ ์คํธ๋ฆผ์ FilterInputStream์ด๋ FilterOutputStream์ ์์๋ฐ๋๋ค. ๋ํ ๋ณด์กฐ ์คํธ๋ฆผ์ ์๋ฃ ์ ์ถ๋ ฅ์ ์ง์ ํ ์ ์๊ธฐ ๋๋ฌธ์ ๋ค๋ฅธ ๊ธฐ๋ฐ ์คํธ๋ฆผ์ ํฌํจํ๋ค.
์์ฑ์ |
์ค๋ช |
protected FilterInputStream(InputStream in) |
์์ฑ์์ ๋งค๊ฐ๋ณ์๋ก InputStream์ ๋ฐ๋๋ค. |
public FilterOutputStream(OutputStream out) |
์์ฑ์์ ๋งค๊ฐ๋ณ์๋ก OutputStream์ ๋ฐ๋๋ค. |
๋ ํด๋์ค ๋ชจ๋ ๋ค๋ฅธ ์์ฑ์๋ ์ ๊ณตํ์ง ์๋๋ค. ๋ฐ๋ผ์ ์ด๋ค ํด๋์ค๋ฅผ ์์๋ฐ์ ๋ณด์กฐ ํด๋์ค๋ ์์ ํด๋์ค์ ๋ํดํธ ์์ฑ์๊ฐ ์์ผ๋ฏ๋ก ๋ค๋ฅธ ์คํธ๋ฆผ์ ๋งค๊ฐ๋ณ์๋ก ๋ฐ์ ์์ ํด๋์ค๋ฅผ ํธ์ถํด์ผ ํ๋ค. FilterInputStream๊ณผ FilterOutputStream์ ์ง์ ์์ฑํ์ฌ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ๋ ๊ฑฐ์ ์๊ณ ์ด๋ฅผ ์์ํ ํ์ ํด๋์ค๋ฅผ ํ๋ก๊ทธ๋จ์์ ๋ง์ด ์ฌ์ฉํ๋ค.
โ
โ
โ
*InputStreamReader์ OutputStreamReader
byte ๋จ์๋ก ์๋ฃ๋ฅผ ์ฝ์ผ๋ฉด ํ๊ธ ๊ฐ์ ๋ฌธ์๋ ๊นจ์ง๋ค. ๊ทธ๋์ ๋ฌธ์๋ Reader๊ณผ Writer์์ ์์๋ฐ์ ์คํธ๋ฆผ์ ์ฌ์ฉํด์ ์๋ฃ๋ฅผ ์ฝ๊ฑฐ๋ ์จ์ผ ํ๋ค. ํ์ง๋ง ๋ฐ์ดํธ ์๋ฃ๋ง ์ ๋ ฅ๋๋ ์คํธ๋ฆผ๋ ์๋ค. ๋ํ์ ์ผ๋ก ํ์ค ์ ์ถ๋ ฅ System.in ์คํธ๋ฆผ์ด๋ค. ๋ํ ๋คํธ์ํฌ์์ ์์ผ์ด๋ ์ธํฐ๋ท์ด ์ฐ๊ฒฐ๋์์ ๋ ์ฝ๊ฑฐ๋ ์ฐ๋ ์คํธ๋ฆผ์ byte ๋จ์์ธ InputStream๊ณผ OutputStream์ด๋ค. ์ด๋ ๊ฒ ์์ฑ๋ byte ์คํธ๋ฆผ์ ๋ฌธ์๋ก ๋ณํํด ์ฃผ๋ ๋ณด์กฐ ์คํธ๋ฆผ์ด InputStreamReader์ OutputStreamReader์ด๋ค.
๋ณด์กฐ ์คํธ๋ฆผ์ ์ ์ถ๋ ฅ ๊ธฐ๋ฅ์ด ์์ผ๋ฏ๋ก ๋ค๋ฅธ ์ ์ถ๋ ฅ ์คํธ๋ฆผ์ ํฌํจํ๋ค.
์์ฑ์ |
์ค๋ช |
InputStreamReader(InputStream in) |
InputStream ํด๋์ค๋ฅผ ์์ฑ์์ ๋งค๊ฐ๋ณ์๋ก ๋ฐ์ Reader๋ฅผ ์์ฑํ๋ค. |
InputStreamReader(InputStream in, Charset cs) |
InputStream๊ณผ Charset ํด๋์ค๋ฅผ ๋งค๊ฐ๋ณ์๋ก ๋ฐ์ Reader๋ฅผ ์์ฑํ๋ค. |
InputStreamReader(InputStream in, CharsetDecoder dec) |
InputStream๊ณผ CharsetDecoder๋ฅผ ๋งค๊ฐ๋ณ์๋ก ๋ฐ์ Reader๋ฅผ ์์ฑํ๋ค. |
InputStreamReader(InputStream in, String charsetName) |
InputStream String์ผ๋ก ๋ฌธ์ ์ธํธ ์ด๋ฆ์ ๋ฐ์ Reader๋ฅผ ์์ฑํ๋ค. |
InputStreamReader ์์ฑ์์ ๋งค๊ฐ๋ณ์๋ก byte ์คํธ๋ฆผ๊ณผ ๋ฌธ์ ์ธํธ๋ฅผ ๋งค๊ฐ๋ณ์๋ก ์ง์ ํ ์ ์๋ค. ๋ฌธ์ ์ธํธ๋ ๋ฌธ์๋ฅผ ํํํ๋ ์ธ์ฝ๋ฉ ๋ฐฉ์์ด๋ค. byte ์๋ฃ๊ฐ ๋ฌธ์๋ก ๋ณํ๋ ๋ ์ง์ ๋ ๋ฌธ์ ์ธํธ๊ฐ ์ ์ฉ๋๋ค. ์ ์ฉํ ๋ฌธ์ ์ธํธ๋ฅผ ๋ช ์ํ์ง ์์ผ๋ฉด ์์คํ ์ด ๊ธฐ๋ณธ์ผ๋ก ์ฌ์ฉํ๋ ๋ฌธ์ ์ธํธ๊ฐ ์ ์ฉ๋๋ค.
โ
InputStreamReader์ ๋ชจ๋ ์์ฑ์๋ InputStream, ์ฆ byte ๋จ์๋ก ์ฝ์ด๋ค์ด๋ ์คํธ๋ฆผ์ ๋งค๊ฐ๋ณ์๋ก ๋ฐ๋๋ค. ์์ฑ์์์ ๋งค๊ฐ๋ณ์๋ก ๋ฐ์ InputStream์ด ์๋ฃ๋ฅผ ์ฝ์ผ๋ฉด InputStreamReader๊ฐ ์ฝ์ byte ์๋ฃ๋ฅผ ๋ฌธ์๋ก ๋ณํํด์ค๋ค.
InputStream์ธ FileInputStream์ ์ฌ์ฉํ์ฌ InputStreamReader๊ฐ ํด์ฃผ๋ ๋ฌธ์ ๋ณํ ๊ธฐ๋ฅ์ ์์๋ณด์.
โ
โ
InputStreamReaderTest.java
package stream.decorator;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
public class InputStreamReaderTest {
public static void main(String[] args) {
try (InputStreamReader isr = new InputStreamReader(new FileInputStream("reader.txt"))) { // ๋ณด์กฐ ์คํธ๋ฆผ์ธ InputStreamReader์ ๋งค๊ฐ๋ณ์๋ก ๊ธฐ๋ฐ ์คํธ๋ฆผ์ธ FileInputStream์ ๋ฐ์ ์์ฑํจ
int i;
while ((i = isr.read()) != -1) { // ํ์ผ์ ๋์ธ -1์ด ๋ฐํ๋ ๋๊น์ง ๋ณด์กฐ ์คํธ๋ฆผ์ผ๋ก ์๋ฃ๋ฅผ ์ฝ์
System.out.print((char) i);
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
<์คํ ๊ฒฐ๊ณผ>
โ
โโ
โ
*Buffered ์คํธ๋ฆผ
์ ์ถ๋ ฅ์ด ํ byte๋ ๋ฌธ์ ๋จ์๋ก ์ด๋ฃจ์ด์ง๋ฉด ๊ทธ๋งํผ ํ๋ก๊ทธ๋จ ์ํ ์๋๊ฐ ๋๋ ค์ง๋ค. Buffered ์คํธ๋ฆผ์ ๋ด๋ถ์ ์ผ๋ก 8.192byte ํฌ๊ธฐ์ ๋ฐฐ์ด์ ๊ฐ์ง๊ณ ์์ผ๋ฉฐ ์ด๋ฏธ ์์ฑ๋ ์คํธ๋ฆผ์ ๋ฐฐ์ด ๊ธฐ๋ฅ์ ์ถ๊ฐํด ๋ ๋น ๋ฅด๊ฒ ์ ์ถ๋ ฅ์ ์คํํ ์ ์๋ ๋ฒํผ๋ง ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ค.
์คํธ๋ฆผ ํด๋์ค |
์ค๋ช |
BufferedInputStream |
byte ๋จ์๋ก ์ฝ๋ ์คํธ๋ฆผ์ ๋ฒํผ๋ง ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ค. |
BufferedOutputStream |
byte ๋จ์๋ก ์ถ๋ ฅํ๋ ์คํธ๋ฆผ์ ๋ฒํผ๋ง ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ค. |
BufferedReader |
๋ฌธ์ ๋จ์๋ก ์ฝ๋ ์คํธ๋ฆผ์ ๋ฒํผ๋ง ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ค. |
BufferedWriter |
๋ฌธ์ ๋จ์๋ก ์ถ๋ ฅํ๋ ์คํธ๋ฆผ์ ๋ฒํผ๋ง ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ค. |
โ
๋ฒํผ๋ง ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ ์คํธ๋ฆผ ์ญ์ ๋ณด์กฐ ์คํธ๋ฆผ์ผ๋ก ๋ค๋ฅธ ์คํธ๋ฆผ์ ํฌํจํ์ฌ ์ํํ๋ค.
์์ฑ์ |
์ค๋ช |
BufferedInputStream(InputStream in) |
InputStream ํด๋์ค๋ฅผ ์์ฑ์์ ๋งค๊ฐ๋ณ์๋ก ๋ฐ์ BufferedInputStream์ ์์ฑํ๋ค. |
BufferedInputStream(InputStream in, int size) |
InputStream ํด๋์ค์ ๋ฒํผ ํฌ๊ธฐ๋ฅผ ์์ฑ์์ ๋งค๊ฐ๋ณ์๋ก ๋ฐ์ BufferedInputStream์ ์์ฑํ๋ค. |
BufferedInputStream์ ๋ณด์กฐ ์คํธ๋ฆผ์ด๋ฏ๋ก ์์ฑ์์ ๋งค๊ฐ๋ณ์๋ก ๋ค๋ฅธ InputStream์ ๊ฐ์ ธ์ผ ํ๋ค.
BufferedOutputStream์ OutputStream์, BufferedReader๋ Reader๋ฅผ, BufferedWriter๋ Writer ํด๋์ค๋ฅผ ์์ฑ์์ ๋งค๊ฐ๋ณ์๋ก ๋ฐ๋๋ค.
โ
โ
Buffered ์คํธ๋ฆผ์ ์ฌ์ฉํ ๋์ ๊ทธ๋ ์ง ์์ ๊ฒฝ์ฐ์ ์ํ ์๊ฐ์ ๋น๊ตํด ๋ณด์.
(์ฑ ์์๋ zip ํ์ผ๋ก ์ค์ตํ๋ผ๋๋ฐ ์ ์ฝ์ด ๋ง์์ txt๋ก ํ์.)
โ
โ
-FileInputStream๊ณผ FileOutputStream์ผ๋ก ํ์ผ ๋ณต์ฌํ๊ธฐ
1. ์๋ณธ ํ์ผ a.txt์ ๋ณต์ฌํ ํ์ผ copy.txt์ ๋ง๋ค์ด์ค๋ค.
โ
โ
โ
2. ์์ค๋ฅผ ์์ฑํ๋ค
โ
FileCopyTest.java
package stream.decorator;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.FileOutputStream;
public class FileCopyTest {
public static void main(String[] args) {
long millisecond = 0;
try (FileInputStream fis = new FileInputStream("a.txt");
FileOutputStream fos = new FileOutputStream("copy.txt")) {
millisecond = System.currentTimeMillis(); // ํ์ผ ๋ณต์ฌ๋ฅผ ์์ํ๊ธฐ ์ ์๊ฐ
int i;
while ((i = fis.read()) != -1) {
fos.write(i);
}
millisecond = System.currentTimeMillis() - millisecond; // ํ์ผ์ ๋ณต์ฌํ๋๋ฐ ๊ฑธ๋ฆฌ๋ ์๊ฐ ๊ณ์ฐ
} catch (IOException e) {
e.printStackTrace();
}
System.out.println("ํ์ผ ๋ณต์ฌํ๋ ๋ฐ " + millisecond + " milliseconds ์์๋์์ต๋๋ค.");
}
}
<์คํ ๊ฒฐ๊ณผ>
โ
โโ
3. ๋ณต์ฌ๊ฐ ์ ๋์๋์ง ํ์ธํ๋ค.
โ
โโ
โ
-BufferedInputStream๊ณผ BufferedOutputStream์ ์ฌ์ฉํ์ฌ ํ์ผ ๋ณต์ฌํ๊ธฐ
โ
BufferedStreamTest.java
package stream.decorator;
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
public class BufferedStreamTest {
public static void main(String[] args) {
long millisecond = 0;
try (FileInputStream fis = new FileInputStream("a.txt");
FileOutputStream fos = new FileOutputStream("copy.txt");
BufferedInputStream bis = new BufferedInputStream(fis);
BufferedOutputStream bos = new BufferedOutputStream(fos)) {
millisecond = System.currentTimeMillis();
int i;
while ((i = bis.read()) != -1) {
bos.write(i);
}
millisecond = System.currentTimeMillis() - millisecond;
} catch (IOException e) {
e.printStackTrace();
}
System.out.println("ํ์ผ ๋ณต์ฌํ๋ ๋ฐ " + millisecond + " milliseconds ์์๋์์ต๋๋ค.");
}
}
<์คํ ๊ฒฐ๊ณผ>
-์ฉ๋์ด ์์ ํ์ผ๋ก ์ค์ตํ๊ฑฐ๋ผ ์ฐจ์ด๊ฐ ๋ณ๋ก ์์ง๋ง Buffered ๋ณด์กฐ ์คํธ๋ฆผ์ด ๋ ๋น ๋ฅด๋ค๋๊ฒ์ ์ ์ ์๋ค.
โ
โโ
โ
*DataInputStream๊ณผ DataOutputStream
DataInputStream๊ณผ DataOutputStream๋ ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฅ๋ 0, 1 ์ํ๋ฅผ ๊ทธ๋๋ก ์ฝ๊ฑฐ๋ ์ด๋ค. ๊ทธ๋์ ์๋ฃํ์ ํฌ๊ธฐ๊ฐ ๊ทธ๋๋ก ๋ณด์กด๋๋ค.
์์ฑ์ |
์ค๋ช |
DataInputStream(InputStream in) |
InputStream์ ์์ฑ์์ ๋งค๊ฐ๋ณ์๋ก ๋ฐ์ DataInputStream์ ์์ฑํ๋ค. |
DataOutputStream(OutputStream out) |
OutputStream์ ์์ฑ์์ ๋งค๊ฐ๋ณ์๋ก ๋ฐ์ DataOutputStream์ ์์ฑํ๋ค. |
โ
โ
โ
*์๋ฃํ๋ณ ๋ฉ์๋
๋ฉ์๋ |
์ค๋ช |
byte readByte( ) |
1๋ฐ์ดํธ๋ฅผ ์ฝ์ด ๋ฐํํ๋ค. |
boolean readBoolean( ) |
์ฝ์ ์๋ฃ๊ฐ 0์ด ์๋๋ฉด true๋ฅผ, 0์ด๋ฉด false๋ฅผ ๋ฐํํ๋ค. |
char readChar( ) |
ํ ๋ฌธ์๋ฅผ ์ฝ์ด ๋ฐํํ๋ค. |
short readShort( ) |
2๋ฐ์ดํธ๋ฅผ ์ฝ์ด ์ ์ ๊ฐ์ ๋ฐํํ๋ค. |
int readInt( ) |
4๋ฐ์ดํธ๋ฅผ ์ฝ์ด ์ ์ ๊ฐ์ ๋ฐํํ๋ค. |
long readLong( ) |
8๋ฐ์ดํธ๋ฅผ ์ฝ์ด ์ ์ ๊ฐ์ ๋ฐํํ๋ค. |
float readFloat( ) |
4๋ฐ์ดํธ๋ฅผ ์ฝ์ด ์ค์ ๊ฐ์ ๋ฐํํ๋ค. |
double readDouble( ) |
8๋ฐ์ดํธ๋ฅผ ์ฝ์ด ์ค์ ๊ฐ์ ๋ฐํํ๋ค. |
String readUTF( ) |
์์ ๋ UTF-8 ์ธ์ฝ๋ฉ ๊ธฐ๋ฐ์ผ๋ก ๋ฌธ์์ด์ ์ฝ์ด ๋ฐํํ๋ค. |
โ
โ
โ
*๊ฐ ์๋ฃํ๋ณ๋ก read( ) ์ ๋์ํ๋ write( ) ๋ฉ์๋
๋ฉ์๋ |
์ค๋ช |
void writeByte(int v) |
1๋ฐ์ดํธ์ ์๋ฃ๋ฅผ ์ถ๋ ฅํ๋ค. |
void writeBoolean(boolean v) |
1๋ฐ์ดํธ์ ๊ฐ์ ์ถ๋ ฅํ๋ค. |
void writeChar(int v) |
2๋ฐ์ดํธ๋ฅผ ์ถ๋ ฅํ๋ค. |
void writeShort(int v) |
2๋ฐ์ดํธ๋ฅผ ์ถ๋ ฅํ๋ค. |
void writeInt(int v) |
4๋ฐ์ดํธ๋ฅผ ์ถ๋ ฅํ๋ค. |
void writeLong(long v) |
8๋ฐ์ดํธ๋ฅผ ์ถ๋ ฅํ๋ค. |
void writeFloat(float v) |
4๋ฐ์ดํธ๋ฅผ ์ถ๋ ฅํ๋ค. |
void writeDouble(double v) |
8๋ฐ์ดํธ๋ฅผ ์ถ๋ ฅํ๋ค. |
void writeUTF(String str) |
์์ ๋ UTF-8 ์ธ์ฝ๋ฉ ๊ธฐ๋ฐ์ผ๋ก ๋ฌธ์์ด์ ์ถ๋ ฅํ๋ค. |
โ์๋ฃํ์ ๊ทธ๋๋ก ์ฝ๊ณ ์ฐ๋ ์คํธ๋ฆผ์ด๊ธฐ ๋๋ฌธ์ ๊ฐ์ ์ ์๋ผ๋ ์๋ฃํ์ ๋ฐ๋ผ ๋ค๋ฅด๊ฒ ์ฒ๋ฆฌํ๋ค.
๋ฐ๋ผ์ ์๋ฃ๋ฅผ ์ธ ๋ ์ฌ์ฉํ ๋ฉ์๋์ ๊ฐ์ ์๋ฃํ์ ๋ฉ์๋๋ก ์ฝ์ด์ผ ํ๋ค. ๋ ํ์ผ์ด๋ ๋คํธ์ํฌ๋ ์๋ฃ๋ฅผ ์ธ ๋ ์ฌ์ฉํ ๋ฉ์๋ ์์๋๋ก ์ฝ์ด์ผ ํ๋ค.
โ
โ
โ
*ํ์ผ์ ์ฌ๋ฌ ์๋ฃํ ๊ฐ์ ์ ์ฅํ๋ ์์
์๋ฃํ์ ์ ์งํ์ฌ ์ ์ฅํ๊ธฐ ์ํด DataInputStream๊ณผ DataOutputStream์ ๋ณด์กฐ ์คํธ๋ฆผ์ผ๋ก ์ฌ์ฉํ์๋ค.
โ
DataStreamTest.java
package stream.decorator;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
public class DataStreamTest {
public static void main(String[] args) {
try (FileOutputStream fos = new FileOutputStream("data.txt");
DataOutputStream dos = new DataOutputStream(fos)) {
dos.writeByte(100);
dos.writeChar('A');
dos.writeInt(10);
dos.writeFloat(3.14f);
dos.writeUTF("Test");
} catch (IOException e) {
e.printStackTrace();
}
try (FileInputStream fis = new FileInputStream("data.txt");
DataInputStream dis = new DataInputStream(fis)) {
System.out.println(dis.readByte());
System.out.println(dis.readChar());
System.out.println(dis.readInt());
System.out.println(dis.readFloat());
System.out.println(dis.readUTF());
} catch (IOException e) {
e.printStackTrace();
}
}
}
<์คํ ๊ฒฐ๊ณผ>
'Java' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Java-๊ธฐ์ด] ๊ทธ ์ธ ์ ์ถ๋ ฅ ํด๋์ค (0) | 2021.02.23 |
---|---|
[Java-๊ธฐ์ด] ์ง๋ ฌํ (0) | 2021.02.23 |
[Java-๊ธฐ์ด] ๋ฌธ์ ๋จ์ ์คํธ๋ฆผ (0) | 2021.02.23 |
[Java-๊ธฐ์ด] byte ๋จ์ ์คํธ๋ฆผ (0) | 2021.02.22 |
[Java-๊ธฐ์ด] ๊ทธ ์ธ ์ ๋ ฅ ํด๋์ค (0) | 2021.02.22 |
๋๊ธ