์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
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 | 31 |
- ํ์ด์ฝ ์ถ์ฒ์ธ
- ์๋ฐ
- php
- spring
- php ํ๋ก๊ทธ๋๋ฐ ์ ๋ฌธ ์์
- php ํ๋ก๊ทธ๋๋ฐ ์ ๋ฌธ ์๋ฃจ์
- php ํ๋ก๊ทธ๋๋ฐ ์ ๋ฌธ ๋ฌธ์ ํ์ด
- C
- ํ์ ๋ถ๊ธฐ
- ํ๋ฌํฐ ๊ฐ๋ฐํ๊ฒฝ ์ค์
- JAVA SPRING
- programmers
- Flutter
- C์ธ์ด
- php ํ๋ก๊ทธ๋๋ฐ ์ ๋ฌธ ์ฐ์ต๋ฌธ์
- ๋ฐฑ์ค
- php ํ๋ก๊ทธ๋๋ฐ ์ ๋ฌธ 3ํ
- ํ๋ฌํฐ
- ํ์ด์ฌ
- ์ต๋จ ๊ฒฝ๋ก
- php ํ๋ก๊ทธ๋๋ฐ ์ ๋ฌธ
- ์คํ๋ง
- ํ์ด์ฝ ์น๊ตฌ์ฝ๋
- ๋ฐฐ์ด
- SWEA
- Java
- ํ์ด์ฝ ์ด๋์ฝ๋
- ํ์ด์ฝ ์ถ์ฒ์ธ์ฝ๋
- ์๋ฐ ์คํ๋ง
- php ํ๋ก๊ทธ๋๋ฐ
- Today
- Total
๋ชฉ๋ก์๋ฐ/๊ธฐ๋ณธ ๊ฐ๋ (11)
์ฌ๋ฅ์ด๐ป
๋ถ๋ชจ ํด๋์ค๋ก๋ถํฐ ์์ ๋ฐ์ ์์ ๊ฐ์ฒด๋ ์์ฑ์๋ฅผ ์ด๋ป๊ฒ ๋ง๋ค๊น? public class Child extends Parent { private int x; public Child() { this(0, 0, 0, 0); } public Child(int a, int b, int c, int x) { this.setA(a); this.setB(b); this.setC(c); this.x = x; } } ์์ ๊ฐ์ ๋ฐฉ๋ฒ์ผ๋ก setter๋ฅผ ํธ์ถํ์ฌ ๊ฐ์ ์ด๊ธฐํ ์์ผ์ค ์ ์๋ค. ๊ทธ๋ฌ๋, ๊ฝค๋ ๋นํจ์จ์ ์ผ๋ก ๋ณด์ธ๋ค. ์ฐ๋ฆฌ๋ ๋งค๊ฐ๋ณ์๊ฐ ์๋ ์์ฑ์์ ๋ถ๋ชจ ํด๋์ค๋ฅผ ์ง์นญํ๋ super๋ก๋ถํฐ ํํธ๋ฅผ ์ป์ด ์๋์ ๊ฐ์ ๋ฐฉ๋ฒ์ ์ฌ์ฉํ ์ ์๋ค. public class Child extends Parent { private..
[์๋ฐ] Is A ์์ Has A ์์๊ณผ ๋น๊ตํ์ ๋ Is A ์์์ ๋ถ๋ชจ๊ฐ ์์์ด ์๊ตฌํ๋ ๊ฒ์ ์๋ฒฝํ๊ฒ ๊ฐ๊ณ ์์ง ์๋ค๋ ๊ฒ์ด๋ค. Is A ์์์ ํ ์บก์์ด ๋ด๊ฐ ๋ง๋ค๊ณ ์ ํ๋ ์บก์์์ ํ์ํ ๋ถ๋ถ๋ค์ด ์๋น ๋ถ๋ถ ์์ ๋, develop247.tistory.com ์์ ํ ์ด์ผ๊ธฐ์์ ์ฐ๋ฆฌ๊ฐ ํด๊ฒฐํ์ง ๋ชปํ ๋ฌธ์ ๊ฐ ์๋ค. Is A ์์์ ํตํด ๊ธฐ์กด์ ์๋ ๊ฐ์ฒด์ ์ฐ๋ฆฌ๊ฐ ์ํ๋ ๋ณ์๋ฅผ ์ถ๊ฐํ์ฌ ์๋ก์ด ๊ฐ์ฒด๋ฅผ ์์ฑํ๋๋ฐ, ๊ธฐ์กด ๊ฐ์ฒด์ ๋ฉ์๋์์๋ ์ฐ๋ฆฌ๊ฐ ์๋กญ๊ฒ ์ถ๊ฐํ ๋ณ์์ ๋ํ ๊ณ ๋ ค๊ฐ ๋์ด์์ง ์๋ค๋ ์ ์ด๋ค. ์ฐ๋ฆฌ๋ ์ด ๋ฌธ์ ๋ฅผ ์ด๋ป๊ฒ ํด๊ฒฐํ ์ ์์๊น? ์ฐ์ ์ด๋ค ์์ผ๋ก ๋ฉ๋ชจ๋ฆฌ๊ฐ ์ฐ์ ํ ๋น๋๋์ง ์ดํด๊ฐ ํ์ํ๋ค. ์ฐ๋ฆฌ๋ ๊ธฐ์กด ๊ฐ์ฒด Parent ์ Parent ๋ฅผ Is A ์์ํ๋ Child ๊ฐ์ฒด๋ฅผ ๊ฐ๊ณ ์..
Has A ์์๊ณผ ๋น๊ตํ์ ๋ Is A ์์์ ๋ถ๋ชจ๊ฐ ์์์ด ์๊ตฌํ๋ ๊ฒ์ ์๋ฒฝํ๊ฒ ๊ฐ๊ณ ์์ง ์๋ค๋ ๊ฒ์ด๋ค. Is A ์์์ ํ ์บก์์ด ๋ด๊ฐ ๋ง๋ค๊ณ ์ ํ๋ ์บก์์์ ํ์ํ ๋ถ๋ถ๋ค์ด ์๋น ๋ถ๋ถ ์์ ๋, ๊ทธ ์บก์์ ์์ํ์ฌ ํ์ํ ๋ถ๋ถ๋ค์ ๊ฐ์ ธ๋ค ์ด๋ค๋ ๊ฐ๋ ์ผ๋ก ์ดํดํ๋ฉด ์ฝ๋ค. ๋ํ์ ์ธ Is A ์์์๋ ํ๋ ์์ํฌ๊ฐ ์๋ค. ํ๋ ์์ํฌ๋ฅผ ํตํด Is A ์์์ ํ์ฌ ๋ด๊ฐ ์ํ๋ ๋ถ๋ถ์ ์์ํจ์ผ๋ก์จ ์์ ์๋๋ฅผ ํฅ์ํ๊ณ , ์์ ๋์ ์ค์ผ ์ ์๋ค. ์ฅ์ ์ ์์ฐ์ฑ์ด ์ข๋ค๋ ๊ฒ์ด์ง๋ง, ๋จ์ ์ผ๋ก๋ ๊ธฐ์ฑํ์ผ๋ก ์๊ฐ๋ ์ ์๋ค๋ ์ ์ด๋ค. ๊ฑฐ์ ๋ชจ๋ ๋ถ๋ถ์ ๊ฐ์ ธ๋ค ์ฐ๊ธฐ ๋๋ฌธ์ด๋ค. ๊ทธ๋ฌ๋ ํ์ฌ IT๋ ๊ต์ฅํ ๋น ๋ฅธ ์๋๋ก ์ฑ์ฅํ๊ณ ์๊ธฐ ๋๋ฌธ์ ๋๋ค์ ํ์ ์๋ค์ด ํ๋ ์์ํฌ๋ฅผ ์ ํธํ๊ณ , ์ผ๋ถ๋ถ์ ๋์ ์์ด๋์ด๋ก ์ฐจ๋ณํ์ํค๋ ์ ๋ต..
ํ ์บก์์ด ๋ค๋ฅธ ์บก์์ ๊ฐ์ฒด๋ฅผ ๊ฐ์ง๊ณ ์๋ ์ํ๋ฅผ Has A ์์์ด๋ผ๊ณ ํ๋ค. Has A ์์์ ๋๊ฐ์ง๋ก ๊ตฌ๋ถํ ์ ์๋ค. ๋ถ๋ชจ๋ ์์์ ํญ์ ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์, Has A ๋ ์๊ตฌ์ ์ธ ์ฑ์ง์ ๋๋ค. Composition Has A : ๋ถ๋ชจ๊ฐ ์์ฑ๋๋ฉด ์์์ ๊ฐ์ฒด๋ ๋ชจ๋ ์์ฑ๋๋ค. Aggregation Has A : ๋ถ๋ชจ๊ฐ ์์ฑ๋์ด๋ ์์์ ๊ฐ์ฒด๊ฐ ๋ชจ๋ ์์ฑ๋๋๊ฒ ์๋๋ผ, ํ๋ํ๋์ฉ ๊ตฌ์ฑํด๋๊ฐ๋ค. dependency ๋ ์์กด๊ฐ์ฒด๋ก, ์ผ์์ ์ผ๋ก ์ฌ์ฉํ๋ ๊ด๊ณ์ด๋ค.
๊ณ์ฐ๊ธฐ ํ๋ก๊ทธ๋จ์ ๋ง๋ ๋ค๊ณ ์๊ฐํด๋ณด์. ํ๋ก๊ทธ๋จ์ ๊ธฐ๋ณธ์ ์ผ๋ก 1. ๊ฐ์ ์ ๋ ฅํ๋ค. 2. ์ํ๋ ์ฐ์ฐ์ ์ ํํ๋ค. 3. ์ ํํ ์ฐ์ฐ์ ๋ฐ๋ฅธ ์๊ณ ๋ฆฌ์ฆ์ ์คํํ๋ค. 4. ์ฐ์ฐ ๊ฒฐ๊ณผ๋ฅผ ์ถ๋ ฅํ๋ค. ์์ ๊ฐ์ ํํ๋ก ๋์ํ ๊ฒ์ด๋ค. ๊ทธ๋ ๋ค๋ฉด, ์ฐ๋ฆฌ๊ฐ ๋ง๋ ํ๋ก๊ทธ๋จ์ ํ๋ซํผ์ด ํ์ฅ๋๋ค๊ณ ์๊ฐํด๋ณด์. ์ฒ์์ ์น์์ ๋์ํ๋ ๊ฒ์ ๋ชฉํ๋ก ํ๋ ํ๋ก๊ทธ๋จ์ด, ๋จ์ผ์ ์ธ ์ค์น ํ๋ก๊ทธ๋จ์ ๋ชฉํ๋ก ํ๋ค๊ณ ํ๋ฉด ์ฌ๋ฌ ์ธ์ด๋ค ์ค ๋ง์์ ๋๋ GUI ๋์์ธ ๋๋ ๊ธฐ๋ฅ์ ์ ํํ์ฌ ๊ตฌํํ ๊ฒ์ด๋ค. ๊ธฐ์กด์ ์น์ ๊ธฐ์ค์ผ๋ก ์์ฑํ๋ ์ฝ๋๋ค์ ์ ๋ถ ๋ค์ ์์ฑํด์ผ ํ ๊ฒ์ด๋ค. ์๋นํ ๊ท์ฐฎ๋ค. ์ด๋ฐ ๊ฒฝ์ฐ ํ์ฉํ ์ ์๋ ๊ฒ์ด ์ฝ๋์ ์ฌ์ฌ์ฉ์ด๋ค. ์ฐ๋ฆฌ๊ฐ ๋ง๋ ๊ณ์ฐ๊ธฐ ํ๋ก๊ทธ๋จ์ ์ฐ์ฐ ์๊ณ ๋ฆฌ์ฆ(3)์ ๊ณ์ ์ฌ์ฌ์ฉํ ์ ์๋ค. ์ ์ถ๋ ฅ(1, 2, 4)๋ง ์ฌ์ฉ..
Getters ์๋ก ๋ค๋ฅธ ๊ฐ์ฒด A, B ๊ฐ ์๋ค๊ณ ๊ฐ์ ํ์. public class A { B B = new B(); int x = B.x; } public class B { int x; } ๊ฐ์ฒด A ๋ ๊ฐ์ฒด B ์ ๋ณ์ x ๋ฅผ ์ฐธ์กฐํ๊ณ ์๋ค. ์ฌ๊ธฐ์, ๊ฐ์ฒด B์ x ๋ณ์๋ช ์ x1 ๋ก ์์ ํ๋ค๋ฉด? ๊ฐ์ฒด A๋ x1 ๋ฅผ ์ฌ์ฉํ ์ ์์ ๊ฒ์ด๊ณ , ์ด๋ ์บก์ํ๊ฐ ์ ๋๋ก ์ด๋ฃจ์ด์ง์ง ์์๋ค๊ณ ํ ์ ์๋ค. ๊ทธ๋ ๋ค๋ฉด ์ฌ๊ธฐ์ getter๋ฅผ ์ฌ์ฉํด๋ณด์. public class A { B B = new B(); int x = B.getX(); } public class B { int x1; public int getX() { return x1; } } ๊ฐ์ฒด B์ x ๋ณ์๋ช ์ด x1 ์ผ๋ก ์์ ๋์ด๋ ๊ฐ์ฒด A๋ ์๋ฌด๋ฐ ์ํฅ ์..
์์ฑ์(Constructor)๋ ํจ์์ ํน์ง์ ๊ฐ๊ณ ์๊ธฐ ๋๋ฌธ์, ์ค๋ฒ๋ก๋ ๋ํ ๊ฐ๋ฅํ๋ค. public Exam() { x = new List[5]; } public Exam(int size) { x = new List[size]; } Exam ๊ฐ์ฒด์์ ๋ณ์ x์ ๋ฐฐ์ด์ ํฌ๊ธฐ๋ฅผ ๊ธฐ๋ณธ 3์ผ๋ก ์ด๊ธฐํํ๊ณ ์๋ค. ํ์ง๋ง x ๋ฐฐ์ด์ ํฌ๊ธฐ๋ฅผ ์์๋ก ์ง์ ํด์ฃผ๊ณ ์ถ์ ๋, ์ ์ ๊ฐ์ ๋ฃ์ด ์ ์ธํด์ฃผ๋ฉด ๋๋ค. ์ด๋ด ๊ฒฝ์ฐ ๋ ๊ฐ์ ์์ฑ์๋ฅผ ์ฌ์ฉํ๊ฒ ๋๋ค. ์์ ์์ ์ ๊ฐ์ด ํ์์ ๋ฐ๋ผ์ ์ฌ๋ฌ๊ฐ์ ์์ฑ์๋ฅผ ์ฌ์ฉํ ์ ์๋ค. ์ด๋ฅผ ์์ฑ์ ์ค๋ฒ๋ก๋(Constructor Overload)๋ผ๊ณ ํ๋ค. ์์ฑ์ ์ค๋ฒ๋ก๋๋ฅผ ์ฌ์ฉํ ๋ ์ค๋ณต๋ ๋ถ๋ถ์ ์ ๊ฑฐํ ์ ์์ด์ผํ๋ค. ์์ฑ์ ์ฝ๋ ์ค๋ณต์ ์ ๊ฑฐํ๋ ๋ฐฉ๋ฒ์ ๋ค์๊ณผ ๊ฐ๋ค. public E..
์์ฑ์๋ ํด๋์ค ๋ด์์ ์ฌ์ฉํ๋ ๋ณ์๋ค์ ๋ชจ๋ ๋ชจ์ ํ๋ฒ์ ์ ์ธํ๊ณ , ์ด๊ธฐํํด์ฃผ๋ ํจ์์ด๋ค. ์์ฑ์์ ์กฐ๊ฑด 1. ๊ฐ์ฒด๊ฐ ์์ฑ๋์๋ง์ ๋ฌด์กฐ๊ฑด ์ ์ผ ๋จผ์ ์คํ๋ผ์ผ ํ๋ค. 2. ์์ฑ๋ ๋ ๋จ ํ๋ฒ๋ง ์คํ๋ผ์ผ ํ๋ค. ์์ฑ์๋ ํจ์๋ช ์ด ์๋ค. ์ฆ, ์ ์ํ ๋์ ํจ์๋ช ์ ์ด๊ธฐํ ํ ๊ฐ์ฒด๋ฅผ ํ์ ํ๊ธฐ ์ํ ํ์๋ช ์นญ์ด๋ค. class Exam { public Exam(){ x = 0; y = 0; } }
์บก์ํ๊ฐ ๊นจ์ง์ง ์๊ธฐ ์ํด์๋ ์ ๋ณด์ ์๋ํ๊ฐ ํ์ํ๋ค. ๋ง์ฝ ํด๋์ค A ์ ๋ณ์ x ๊ฐ ์๋ค๊ณ ๊ฐ์ ํ์. ์๋ํ๊ฐ ์ด๋ฃจ์ด์ง์ง ์์๋ค๋ฉด, ํด๋์ค A๊ฐ ์๋ ์ด๋ ๊ณณ์์๋ ๋ณ์ x๋ฅผ ์ฌ์ฉํ ์ ์๋ค. ์ด๋ ๊ฒ ๋๋ค๋ฉด ์บก์ํ๊ฐ ๊นจ์ง๊ฒ ๋๋ค. ์บก์ํ๋ฅผ ๊นจํธ๋ฆฌ์ง ์๊ธฐ ์ํด, ์ ๋ณด์ ์๋ํ๊ฐ ํ์ํ ๊ฒ์ด๋ค. ์ด๋ฅผ ์ํด์ private, public ์ ์ฌ์ฉํ๋ค. ํด๋์ค A ๋ด์ ๋ณ์ x๋ฅผ ์ ์ธํ ๋, ์์ private ๋ฅผ ๋ถ์ด๋ฉด ํด๋์ค A๋ฅผ ์ ์ธํ ์ด๋ ๊ณณ์์๋ ๋ณ์ x๋ฅผ ํธ์ถํ์ฌ ์ฌ์ฉํ ์ ์๋ค. ๊ทธ๋ฌ๋ public ์ ์ฌ์ฉํ๋ฉด ์ด๋์๋ ๋ณ์ x๋ฅผ ํธ์ถํ์ฌ ์ฌ์ฉํ ์ ์๋ค. ๋ฐ๋ผ์, ํต์์ ์ผ๋ก ์ฐ๋ฆฌ๊ฐ ์๋น์ค๋ฅผ ์ ๊ณตํ๋ ํจ์๋ค์ public ์ผ๋ก ์ ์ธํด์ฃผ๊ณ , ์บก์ํ๋ฅผ ์ง์ผ์ผํ๋ ๋ณ์๋ค์๋ private ๋ฅผ ์ฌ์ฉํด..
Exam ์ด๋ผ๋ ํด๋์ค์์ ์ ์ธ๋์ด์๋ ์ฌ๋ฌ๊ฐ์ง ํจ์๋ฅผ ์ฌ์ฉํ๊ณ ์ถ๋ค๊ณ ๊ฐ์ ํด๋ณด์. x = new Exam(); Exam.input(x); Exam.print(x); ... ์ฐ๋ฆฌ๊ฐ ์์ ๋ฐฐ์ ๋ ๊ฐ์ฒด์งํฅ์ ์บก์ํ๋ฅผ ์ ์งํ๊ธฐ ์ํด์๋ Exam์ ํจ์๋ค์ ์์ ๊ฐ์ ๋ฐฉ์์ผ๋ก ํธ์ถํด์ผ ํ๋ค. ํ์ง๋ง, ์ธ์คํด์ค ํจ์๋ฅผ ์ฌ์ฉํ๋ฉด x = new Exam(); x.input(); x.print(); ... ์์ ๊ฐ์ ๋ฐฉ์์ผ๋ก ๊ฐ๋จํ๊ฒ ํธ์ถ์ด ๊ฐ๋ฅํ๋ค. ๋จ์ํ๊ฒ ์ฝ๋๋ฅผ ์ค์ธ๋ค๋ ๊ฐ๋ ์ด ์๋๋ผ, ๋ณ์ x ์๊ฒ ์ฑ ์์ ๋ถ์ฌํ๋ค๊ณ ์๊ฐํ๋ฉด ํธํ๋ค. ์ ์์ ์ฝ๋์์๋ ์ฐ๋ฆฌ๊ฐ ์ง์ x๋ผ๋ ๋งค๊ฐ์ฒด๋ฅผ ํตํด ํจ์๋ฅผ ํธ์ถํ๋ค๊ณ ํ๋ค๋ฉด, ํ์์ ์ฝ๋์์๋ ์ฐ๋ฆฌ๊ฐ ๋ง๋ x๋ผ๋ ๋งค๊ฐ์ฒด๊ฐ ์ง์ ํจ์๋ฅผ ํธ์ถํ๋ ๊ฒ์ด๋ค. ์ ์์ ์ฝ๋๋ ์คํํฑ ๋ฉ..