์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
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 |
- ์๋ฐ์์์ฐ๋ ๋๋ฅผ ์ฌ์ฉํ๋ ์ด์
- hikari cp ์ค์
- mysql์ํคํ ์ฒ
- ๋น์ผ๊ฐ์ฒด์์ฑ
- enum ์์ฑ์ ์ ๊ทผ ์ ํ์
- builder null
- ์๋ฐ๋ผ์ด๋ธ์คํฐ๋
- effectiveJava
- assert.notnull
- ์ํฐ๋ ๊ฐ๋ฐ์ํ์ฌ
- ์ธ๋ฑ์คํ์ค์บ
- Hikari Connection Pool
- ์๋ฐ์ฐ๋ ๋
- SVN
- ์ธ๋ฑ์ค์คํต์ค์บ
- ๋ฐ์ดํฐ๋ฒ ์ด์ค๊ฒฉ๋ฆฌ์์ค
- ์์
- ์๋ฐ
- ๋ฐ์ฉ๋ ์ค๊ตญ์ด
- mysql
- ์๋ฐ์์
- ์ดํํฐ๋ธ์๋ฐ
- ์ํฐ๋ ๋ณ์ข ๊ฐ๋ฐ์
- Item6
- index full scan
- ์๋ผ์คํฑ์์น๋ฉ์ธ์ง์ฉ๋
- ์์ดํ 15
- InnoDB์ํคํ ์ฒ
- index skip scan
- item15
- Today
- Total
โ๐ป๊ธฐ๋กํ๋ ๋ธ๋ก๊ทธ
[ JAVA ] ์ถ์ํด๋์ค ๋ณธ๋ฌธ
์ฃผ๋ก ์์์ ์์ ํด๋์ค๋ก ์ฌ์ฉ๋จ
์ถ์ ํด๋์ค ์ ์ธ ํ์
abstract ๋ฐํํ์
๋ฉ์๋์ด๋ฆ();
๊ตฌํ๋ ๋ฉ์๋๋ ํ์ ํด๋์ค๊ฐ ๊ณตํต์ผ๋ก ์ฌ์ฉํ๋ ๊ธฐ๋ฅ์ ๋ฉ์๋ , ํ์ ํด๋์ค์ ๋ฐ๋ผ ์ฌ์ ์๊ฐ ๊ฐ๋ฅ
์ถ์ ํด๋์ค๋ new (์ธ์คํด์คํ)๊ฐ ๋ถ๊ฐํ๋ค → ๋ฉ์๋์ ๋ฐ๋๊ฐ ์์ผ๋ฏ๋ก
์์) ์์ฃผ์ฌ์ฉํ๋ ๋ชจ๋์ ๊ณตํต๋๋ ๋ถ๋ถ์ ๋ฏธ๋ฆฌ ๋ง๋ค๊ณ , ๋ฐ์ ์ฌ์ฉํ๋ ์ชฝ์์ ์์ ์ด ํ์ํ ๋ถ๋ถ๋ง ์ฌ์ ์ํ์ฌ ์ฌ์ฉ, ์์ฐ์ฑ์ด ํฅ์
๋ชจ๋ ๋ฉ์๋๊ฐ ๊ตฌํ๋์๋ค๊ณ ํด๋ ํด๋์ค์ abstract ํค์๋๋ฅผ ์ฌ์ฉํ๋ฉด ์ถ์ ํด๋์ค
→ jdk ๋ด๋ถ์๋ ์กด์ฌ, ์ค๋ก์ง ์์์ ์ํ ์ถ์ ํด๋์ค
package abstractex;
public abstract class Computer {
public abstract void display();
public abstract void typing();
public void turnOn(){
System.out.println("์ ์์ ์ผญ๋๋ค.");
}
public void turnOff(){
System.out.println("์ ์์ ๋๋๋ค.");
}
}
๊ฐ์ฅ ์์์ ์ ์ธ๋ ์ถ์ ํด๋์ค Computer.
์์๋ฐ์ Computerํด๋์ค์ ์ ์ธ๋ ์ถ์ ๋ฉ์๋๋ ์์๋ฐ์ ํ์ ํด๋์ค์์๋ ๋ฌด์กฐ๊ฑด ์์๋ฐ์ ์ฌ์ฉํด์ผ ํ๋ค.
๋ง์ฝ ์์๋ฐ์ง ์์๋ค๋ฉด ์๋์ ๊ฐ์ ๋ฉ์์ง๋ฅผ ๋ง๋๋ค.
Computer์ turnOn(), turnOff() ๋ฉ์๋๋ ์ถ์ ๋ฉ์๋๊ฐ ์๋๋ฏ๋ก ๋ฌด์กฐ๊ฑด ์์๋ฐ์์ผ ํ๋ ๋ฉ์๋๊ฐ ์๋๋ค.
package abstractex;
public class DeskTop extends Computer {
@Override
public void display() {
System.out.println("DeskTop display");
}
@Override
public void typing() {
System.out.println("DeskTop typing");
}
}
๋ ๋ฒ์งธ๋ก Computer ํด๋์ค๋ฅผ ์์๋ฐ์ NoteBookํด๋์ค
์์๋ฐ์ ์ถ์ ํด๋์ค์ ์ ์๋ ๋ฉ์๋ ์ค ์ผ๋ถ๋ง ๊ตฌํํ๋ค๋ฉด ์์๋ฐ์ ํด๋์ค๋ ์์ง abstract ํด๋์ค
NoteBook ํด๋์ค๋ Computerํด๋์ค์์ ์ ์ธํ ์ถ์ ๋ฉ์๋๋ฅผ ๋ชจ๋ ๊ตฌํํ์ง ์์์ผ๋ฏ๋ก ์ถ์ ํด๋์ค๊ฐ ๋๋ค.
๋ง์ฝ NoteBook ํด๋์ค๋ฅผ ์ผ๋ฐ ํด๋์ค๋ก ์ ์ํ๊ณ ์ถ๋ค๋ฉด Computerํด๋์ค์์ ์ ์ํ ์ถ์ ํด๋์ค๋ฅผ ๋ชจ๋ ์ ์ํด์ผ ํ๋ค.
package abstractex;
public abstract class NoteBook extends Computer{
@Override
public void typing() {
System.out.println("NoteBook typing");
}
}
๋๋จธ์ง ๊ตฌํํ์ง ์์ display๋ฉ์๋๋ NoteBookํด๋์ค๋ฅผ ์์๋ฐ์ ํ์ ํด๋์ค์ธ MyNoteBook ํด๋์ค์ ์ ์ธํ์๋ค.
package abstractex;
public class MyNoteBook extends NoteBook{
@Override
public void display() {
System.out.println("MyNoteBook display");
}
}
์คํ ํ ์คํธ
package abstractex;
public class ComputerTest {
public static void main(String[] args) {
// Computer computer = new Computer(); ์ถ์ํด๋์ค์ด๋ฏ๋ก ์ธ์คํด์คํ ๋ถ๊ฐ
Computer computer = new DeskTop();//์์ ํด๋์ค ํ์
์ผ๋ก ํ์ํด๋์ค ์ธ์คํด์คํ ํ๋ณํ ๊ฐ๋ฅ
computer.display();
computer.turnOff();
//Computer myNote = new MyNoteBook();//์์ ํด๋์ค ํ์
์ผ๋ก ์ ์ธ์ด ๊ฐ๋ฅ
NoteBook myNote = new MyNoteBook();//ํญ์ ์์ํด๋์ค๋ฅผ ๋ดํฌํ๊ณ ์์
}
}
'Language > Java' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ JAVA ] package (0) | 2021.01.01 |
---|---|
[ JAVA ] ์์ (0) | 2020.12.25 |
[ JAVA ] ๊ธฐ๋ณธํด๋์ค ( Object, String, Wrapper) (0) | 2020.12.13 |
[ JAVA ] ๋คํ์ฑ polymorphism (0) | 2020.12.06 |
์์์์ ํด๋์ค ์์ฑ ๊ณผ์ ๊ณผ ํ ๋ณํ (0) | 2020.11.29 |