์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
- StringBuilder
- ์คํ
- ์ฐ
- ์ฟ ํกDB
- ๋ฐฑ์ค1874
- ํ๋ฐฉ์ฟผ๋ฆฌ
- ๋ฐ์ดํฐํ์
- ์ฟ ํกERD
- ๋ฌธ์์ด
- ์ฐ์ฐ์
- ์
- ๋ฐฑ์ค9093
- ๋ฐฑ์ค9012
- stream
- ๋
- java
- ๋ฐฑ์ค11053 #ํ์ด์ฌ #python
- StringBuffer
- ์คํ์์ด
- ์คํธ๋ฆผ
- ์๋ฐ
- ๋ฐฐ์ด
- Today
- Total
๋ชฉ๋ก์ ์ฒด ๊ธ (142)
Tech Log ๐ ๏ธ
๋ฉ์์ง ๋ฉ์์ง ์์ ์๊ฐ ๋ฉ์์ง๋ฅผ ๋ฐ์ผ๋ฉด, ๋ฐ์ ์์ ์ํ๋ ๋ฐ๋์ง ์์ง๋ง ์์ ์์ ์ํ๋ ๋ฐ๋ ์ ์๋ค. ๋ฉ์์ง๋ฅผ ์ฌ์ฉํ๋ ํ๋ก์์ ๋ ๋น์ฅ ์ค์ํ์ง ์์ ์ธ๋ถ ๊ตฌํ์ด ์กด์ฌํ๋ค ๋ผ๋ ์๋ฏธ๋ฅผ ๋ดํฌํ ์ ์๋ค. (์บก์ํ) function() { input(); process(); output(); } ์ ํ ๋ฉ์์ง ์ ํ ๋ฉ์์ง๋ฅผ ์ฌ์ฉํ๋ฉด ๋ช ์์ ์กฐ๊ฑด๋ฌธ์ ์ฌ์ฉ์ ํฌ๊ฒ ์ค์ผ ์ ์๋ค. ํ์ง๋ง ๊ณผ๋ํ ์ ํ๋ฉ์์ง์ ์ฌ์ฉ์ ๊ฐ๋ ์ฑ์ ์ ํดํ ์ ์๋ค. public void display(Subject subject, Brush brush) { brush.display(subject); } ๋๋ธ ๋์คํจ์น 2๊ฐ์ ์ ํ ๋ฉ์์ง๋ฅผ ์ง๋ ฌ๋ก ์ฐ๊ฒฐํ ์ ์๋ค. https://www.youtube.com/watch?v=s-tXAHub6v..
๊ฐ์ฒด๋ ์ธ๋ถ์ ๋๋ฌ๋๋ ํ์์ ํ์๋ฅผ ์ง์ํ๊ธฐ ์ํ ์ํ๋ฅผ ๋ฌถ์ด์ฃผ๋ ํธ๋ฆฌํ ๋จ์๋ค. ์ํ - ์ํ๋ฅผ ํจ๊ณผ์ ์ผ๋ก ๊ด๋ฆฌํ๊ธฐ ์ํด์ ์ ์ฌํ ์ํ๋ฅผ ๋ฌถ์ด์ ๊ด๋ฆฌํ๊ณ ๊ฐ ์ํ๋ ๋ณ๋๋ก ๊ด๋ฆฌํด์ผํ๋ค. ๋ ๊ฐ์ ์ํ๊ฐ ์ ์ฌํ ์ง ์๋ ค๋ฉด 1. ๋ ๊ฐ์ ์ํ๊ฐ ๋์ผํ ์ฐ์ฐ ์์์ ์ฌ์ฉ๋๋๊ฐ? 2. ๋์ผํ ์์ ์ ์์ฑ๋๊ณ ์๋ฉธ๋๋๊ฐ? ๋ฅผ ํ์ธํ๋ฉด ๋๋ค. ์ง์ ์ ๊ทผ - ์ง์ ์ ๊ทผ์ ์ฅ์ ์ ๋ช ํ์ฑ์ด๋ค. x=10 // ๋งค์ฐ๋งค์ฐ ๋ช ํํ๋ค. ํ์ง๋ง ์ฝ๋๋ฅผ ํตํด ์์ธํ ๋ด์ฉ์ ์๋ ค์ฃผ๊ธฐ๋ ์ด๋ ต๋ค. ์๋ฅผ ๋ค์ด doorRegister = 1; // ์ง๊ด์ ์ด์ง ์์ door.open(); // ๋งค์ฐ ์ง๊ด์ ์ ๋ฐ๋ผ์ ์ง์ ์ ๊ทผ์ด ๋ง๋ค๋ฉด ์ํํ ์ปค๋ฎค๋์ผ์ด์ ์ ๋ฐฉํดํ ์ ์๋ค. ๊ฐ์ ์ ๊ทผ - ๋ช ํ์ฑ๊ณผ ์ง์ ์ฑ์ ํฌ์ํด์ ์ ์ฐ์ฑ์ ์ป์ ์ ์๋ค. ..
๋ฆฌํ๋ ์ ์ด๋? ์๋ฐ ๊ณต์ ๋ฌธ์์์๋ ๋ฆฌํ๋ ์ ์ ๋ค์๊ณผ ๊ฐ์ด ์ ์ํ๊ณ ์๋ค. Reflection enables Java code to discover information about the fields, methods and constructors of loaded classes, and to use reflected fields, methods, and constructors to operate on their underlying counterparts, within security restrictions. The API accommodates applications that need access to either the public members of a target object (based on it..
์๋ฐ๋ ๊ธฐ๋ณธ์ ์ผ๋ก Call By Value ๋ฐฉ์์ผ๋ก ๋์ํ๋ค. ๋ณธ๋ฌธ์ ์์ ๋ค์ ์ฝ๋๋ฅผ ๋ณด์ ์๋ฐ์์ ์ ๋ฌ ๋ฐ์ ๊ฐ์ ์์ ํ ๊ฒฝ์ฐ ์๋ณธ ๊ฐ์ด ๋ณํ๋ ์ง ์์๋ณด๊ธฐ ์ํ ์ฝ๋์ด๋ค. public static void mian() { int x = 1; int y = 2; assertEquals(x, 1); // true assertEquals(y, 2); // true modify(x, y); assertEquals(x, 1); // true assertEquals(y, 2); // true } public static void modify(int x1, int y1) { x1 = 5; y1 = 10; } ๋๊ฒจ๋ฐ์ ๊ฐ์ ์์ ํ๋๋ฐ ์๋ณธ ๊ฐ์ ๋ณํํ์ง ์์์์ ์ ์ ์๋ค. ์ด ์ด์ ๋ ์ค๋ ์์๋ณผ Call By..
ํด๋์ค ๋ด๋ถ ํด๋์ค ์์ ์ ์ฉ ํด๋์ค๋ฅผ ์ฌ์ฉํ๋ฉด ํด๋์ค ์ฌ์ฉ์ ๋ํ ๋น์ฉ์ ์ง๋ถํ์ง ์๊ณ ํด๋์ค์ ์ฅ์ ์ ์ทจํ ์ ์๋ค. ๋ด๋ถ ํด๋์ค๋ ๋ด๋ถ ํด๋์ค๋ฅผ ๊ฐ์ผ ํด๋์ค์ ๋ํ ์ ๋ณด๋ฅผ ์๋ฌต์ ์ผ๋ก ์ ๋ฌ๋ฐ๋๋ค. ๋ช ์์ ์ผ๋ก ํด๋์ค ๊ฐ์ ๊ด๊ณ๋ฅผ ์ ํ์ง ์์ผ๋ฉด์๋ ๊ฐ์ผ ํด๋์ค์ ๋ฐ์ดํฐ๋ฅผ ์ ๊ทผํ ์ ์๋ค. public class Enclose { private String field; public class Inner { public String example() { return field; } } } ๋ง์ฝ ์ธ๋ถ ํด๋์ค์ ์์ ํ ๋ถ๋ฆฌ๋ ๋ด๋ถ ํด๋์ค๋ฅผ ์ฌ์ฉํ๋ ค๋ฉด, ๋ด๋ถ ํด๋์ค๋ฅผ ์ ์ ์ผ๋ก ์ ์ธํ๋ฉด ๋๋ค. ์ธ์คํด์ค๋ณ ํ์ ๊ฐ์ฒด์ ๋ก์ง์ด ํด๋์ค์ ์ํด ์์ ํ ์ ์๋ ๋, ์ฝ๋ ๋ ์๋ ์ด๋ค ์ผ์ด ๋ฒ์ด์ง๋์ง ์ดํดํ๋ค. ํ์ง๋ง ์ธ์คํด..
ํด๋์ค ํด๋์ค๋ ๋น์ทํ ์ฑ์ง์ ๊ฐ์ง ๊ฒ์ ์ด์นญํ๋ฉฐ, ๊ฐ์ฒด๋ ํด๋์ค๊ฐ ๊ตฌ์ฒดํ๋ ๊ฒ์ด๋ค. ํด๋์ค ํด๋์ค์ ๋ก์ง๊ณผ ๋ฐ์ดํฐ๋ ํจ๊ผ ์ฌ์ฉ๋๋ฉฐ, ๋ก์ง์ ๋ฐ์ดํฐ์ ๋นํด ๋ณํ์จ์ด ๋ฎ๋ค. ํด๋์ค ๋ด๋ถ์ ๋ฐ์ดํฐ๋ ๊ด๋ จ ๋ก์ง์ ์ํด ๋ณํํ๋ฉฐ, ํด๋์ค ๋ด๋ถ์์ ์ฌ์ฉํ๋ ๋ฐ์ดํฐ์ ๋ณํ์จ์ ๋น์ทํ๋ค. ๋์ฒด๋ก ์ด ์ ์ธ์ ๋ดํฌํ๊ธฐ๋ ํ์ง๋ง ์ ๋์ ์ด์ง๋ ์๋ค. ๋ฐ๋ผ์ ํจ๊ณผ์ ์ธ ํ๋ก๊ทธ๋๋ฐ์ ์ํด์ ๋ก์ง์ ํด๋์ค ๋จ์๋ก ์ด๋ป๊ฒ ๊ตฌ์ฑํด์ผ ํ๋์ง, ๋ก์ง ์ฌ์ด์ ์ฐจ์ด์ ์ ์ด๋ป๊ฒ ํจ๊ณผ์ ์ผ๋ก ํํํด์ผํ๋์ง ๋ฐฐ์์ผ ํ๋ค. ํด๋์ค ๊ณ์ธต์ ์ฌ์ฉํ๋ฉด ํ์ ํด๋์ค๋ฅผ ์ดํดํ๊ธฐ ์ํด ์์ ํด๋์ค ๋ํ ๋ชจ๋ ์ดํดํด์ผ ํ๋ฏ๋ก ์ฝ๊ธฐ ์ด๋ ค์์ง๋ค. ๋ชจ๋ ํด๋์ค๋ฅผ ์์๋ฐ๊ธฐ ๋ณด๋จ ์ ๋ณ์ ์ผ๋ก ํด๋์ค๋ฅผ ์์ํ์ ํด๋์ค๋ ํ๋ก๊ทธ๋จ์ ์ค๊ณ ์์ ์ค ๊ฐ์ด ๋น์ผ ํธ์ด๋ฏ๋ก, ์๋ฏธ ์..
ํ๋ก๊ทธ๋๋ฐ ์ด๋ก ํ๋ก๊ทธ๋๋ฐ ์ด๋ก ์ ์๋ก์ด ๋ฌธ์ ๊ฐ ๋ฐ์ํด๋ ํด๊ฒฐ์ฑ ์ ์ฐพ์ ์ ์๋๋ก ๋์์ค๋ค. ์ค์ ํ๋ก๊ทธ๋๋ฐ์์๋ ๋๋ ฅ์ด ์กด์ฌํ๋ค. 1. ๊ฐ์น - ๊ฐ์น๋ ๋ชจ๋ ํ๋ก๊ทธ๋๋ฐ์ ์ ์ฉ๋๋ค. - ์ปค๋ฎค๋ํ ์ด์ , ์ ์ฐ์ฑ ๋ฑ ๋ชจ๋ ์์ฌ ๊ฒฐ์ ์ ์ํฅ์ ๋ฏธ์น๋ค. 2. ์์น - ์ง์ ์ ์ฉํ๊ธฐ ์ด๋ ค์ด ๊ฐ์น์ , ์ง์ฝ ์ ์ธ ํจํด ์ฌ์ด์ ๊ฐ๊ต ์ญํ ์ ํ๋ค. - ํจํด ์ค ํ๋๋ฅผ ์ ํํด์ผ ํ ๋ ์์น์ ๋ฐ๋ฅธ๋ค. ํจํด์ ์ง๊ธ ๋น์ฅ ๋ฌด์์ ํด์ผํ ์ง๋ฅผ ์๋ ค์ฃผ๊ณ , ๊ฐ์น๋ ์ฌ์ฉํด์ผ ํ๋ ๋๊ธฐ๋ฅผ ์๋ ค์ฃผ๋ฉฐ, ์์น์ ๋๊ธฐ๋ฅผ ํ๋์ผ๋ก ์ด๋ป๊ฒ ๋ฐ๊ฟ์ง๋ฅผ ์๋ ค์ค๋ค. ๊ฐ์น ์ธ๊ฐ์ง ๊ฐ์น๋ ์๋ก ์ถฉ๋ํ๋ ๊ฒฝ์ฐ๋ ์์ง๋ง ์ํธ ๋ณด์์ ์ธ ๊ฒฝ์ฐ๊ฐ ๋ง๋ค. ์ปค๋ฎค๋์ผ์ด์ ๋ค๋ฅธ ๊ฐ๋ฐ์๊ฐ ๋ดค์ ๋์ ๊ด์ ์ผ๋ก ์ฝ๋๋ฅผ ์์ฑํ๋ผ ์ฝ๋๋ฅผ ์ฝ๊ฒ ์ดํดํ๊ณ , ์์ ํ๊ณ , ์ฌ์ฉํ ์ ์์ด..
Gradle ์ด๋? ์๋ฐ๋ฅผ ์ด์ฉํด์ ์ฝ๋ฉ์ ํ๋ค๋ณด๋ฉด Gradle ์ ์ฌ์ฉํด์ ๋น๋ํ๋ ๊ฒฝํ์ ๋ง์ด ํ๋ค. ๊ทผ๋ฐ ์ด Gradle ์ ์ ํํ ์ด๋ค ์ญํ ์ ํ ๊น? ๊ณต์๋ฌธ์๋ฅผ ๋จผ์ ์ฐพ์๋ณด๋ฉด, Gradle is an open-source build automation tool flexible enough to build almost any type of software. Gradle ์ ์ค์ค๋ก ๋น๋ ์๋ํ(build automation) ํด์ด๋ผ๊ณ ์๊ฐํ๊ณ ์๋ค. ๐ง ๋น๋๋ ๋ฌด์์ผ๊น? ์๋ฐ์ฝ๋๋ฅผ ์ปดํ์ผ ๊ณผ์ ์ ๊ฑฐ์ณ์ ์ปดํจํฐ๊ฐ ์คํํ ์ ์๋ ํ์ผ๋ก ๋ง๋ค์ด ์ฃผ๋ ๊ณผ์ ์ ๋งํ๋ค. ๊ทธ๋ ๋ค๋ฉด ์ผ๋จ Gradle์ด ์ด๋ฌํ ๊ณผ์ ์ ๊ด๋ฆฌํด์ค์ผ๋ก์จ ๊ฐ๋ฐ์์ ์ถ์ ์ข ๋ ์คํํ๊ฒ ํด์ค๋ค๋ ๊ฒ์ ์๊ฑฐ๊ฐ๋ค. ๊ตฌ์ฒด์ ์ผ๋ก Gradle์ ๋ค..
JVM์ด๋? ์๋ฐ๋ฅผ ๊ฐ์ง๊ณ ์ฝ๋ฉ์ ํ๋ ์ฌ๋์ ํ๋ฒ ์ฏค JVM ์ด๋ ๋จ์ด๋ฅผ ๋ค์ด์์ ๊ฒ์ด๋ค. ์ด JVM์ ์ปดํจํฐ์์ ์ํต์ ๋์์ฃผ๋๋ฐ, ์ด๋ค ์์ผ๋ก ์ํต์ ๋์์ฃผ๋ ์ง ๋จ๊ณ๋ณ๋ก ์ดํด๋ณด์ ๋จผ์ ์ฐ๋ฆฌ๊ฐ ์ฝ๋ฉ์ ํ๊ณ ์ปดํ์ผ๋ฌ๋ฅผ ํตํด์ ์ปดํ์ผํ๋ฉด .class ํ์ผ์ด ์์ฑ๋๋ค. ํ์ฌ ์ด ํด๋์ค ํ์ผ์ ๊ธฐ๊ณ์ด๊ฐ ์๋ ๋ฐ์ดํธ ์ฝ๋๋ก ๋์ด์๋ค. ๋ฐ์ดํธ ์ฝ๋๋ ๋ฌด์์ผ๊น? JVM์ด ์ดํดํ ์ ์๋ ์ธ์ด๋ก ๋ณํ๋ ์๋ฐ ์์ค์ฝ๋์ด๋ค. ์ธ์ ์ด๋์๋ ์ด์์ฒด์ ์ ๊ด๊ณ์์ด JVM ์์์ ์คํ๋ ์ ์๋ค. ์๋ฅผ ๋ค์ด ์๋์ ์ฝ๋๋ System.out.println("Hello World"); ๋ค์๊ณผ ๊ฐ์ ๋ฐ์ดํธ ์ฝ๋๋ฅผ ๊ฐ์ง๋ค. // class version 61.0 (61) // access flags 0x21 public clas..
ํ๋ก๊ทธ๋๋จธ์ค ๋ฐฑ์๋ ๋ฐ๋ธ์ฝ์ค์์ ์งํํ Tech Log ํ๋ ๋ชฉ์ ์ผ๋ก ์ ์๋์์ต๋๋ค. 1. String ํด๋์ค์ equals & hashcode ์ํํธ์จ์ด ์ธ๊ณ์์๋ ๋ฌธ์์ด๋ ์ด์ํ ๋ฐฉ์์ผ๋ก ๊ด๋ฆฌํ๋ค. ๋ฐ๋ก ๋๋ฑ์ฑ์ ๋ณด์ฅํด์ฃผ๊ธฐ ์ํจ์ธ๋ฐ, ์ด๋ ์์์ ๋งํ equals ๋ฉ์๋์ HashCode ๋ฉ์๋๋ฅผ ์ฌ์ ์ํด์ ์ฌ์ฉํ๋ค. ์ด๋ฅผ ์ฌ์ ์ํ์ง ์๋ ํด๋์ค๋ฅผ ์ฒ์๋ถํฐ ๋ง๋ค์ด๊ฐ๋ฉด์ equals ์ HashCode ์ ๋ํด ์์๋ณด์ ๋ณธ๋ฌธ์์๋ String์ ๋ชจ๋ฐฉํ String_test ๊ฐ์ฒด๋ฅผ ๋ง๋ค์ด ๋ณผ๊ฒ์ด๋ฉฐ , ๊ฐ๊ฐ์ ๊ฒฐ๊ณผ๊ฐ๋ค์ ๋ง์ถฐ๋๊ฐ ๊ฒ์ด๋ค. equals ๋น๊ต ๋จผ์ ๊ฐ์ฒด์ ๋๋ฑ์ฑ์ ๋น๊ตํ๊ธฐ ์ํด equals์ ๊ฐ์ ๋น๊ตํด๋ณด์ String string1 = new String("hi"); String string..