์ด๋ฒ ์๊ฐ์๋ ์ง๊ธ๊น์ง ๋ฐฐ์ด ๋ด์ฉ์ ๋ฐํ์ผ๋ก ๋๋ฌผ์ ์ฒ ์ฝ๋๋ฅผ ์์ฑํด ๋ณด๋ ์๊ฐ์ ๊ฐ์ ธ๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค.
๋๋ฌผ์ ์ฒ ๋ฌธ์
class ์ฃผ๋ฏผ
String ํ์
; // ๋ฌด์กฐ๊ฑด ์์
String ์ด๋ฆ; // ์ฃผ๋ฏผ์ ์์ฑํ ๋, ์ด๋ฆ์ ๋ฐ๋์ ์ค์ ํ๋ฉด์ ๋ง๋ค์ด์ผ ํจ
hello() // ํ๋ณตํจ / ๋ฌด๋ํจ / ์ฌํ / ํ๋จ ์ค์์ 1๊ฐ๋ฅผ ๋๋ค์ผ๋ก ์ถ๋ ฅํจ
์ผ์น / ๊ฐ๊ตด
action(String ๋๊ตฌ)
์ ์๋ฆฌ์ฑ >> ๊ณค์ถฉ์ฑ์ง
๋์๋ >> ์์ ๋์
์ฝ >> ๋
ํ๊ธฐ
class ๊ณ ์์ด๋ฅผ ์์๋ฐ๋๋ค. extends ์ฃผ๋ฏผ
class ๊ฐ๊ตฌ๋ฆฌ extends ์ฃผ๋ฏผ
main()
์ฃผ๋ฏผ[] datas = new ์ฃผ๋ฏผ[3];
datas[i] = new ๊ณ ์์ด("ํ์ฃฝ");
new ๊ฐ๊ตฌ๋ฆฌ("๋ ์ด๋");
new ๊ณ ์์ด('์์ด๋ค") ;
new ๊ณ ์์ด(1ํธ);
new rornfl(๋ ์ด๋);
ํด๋์ค(ํ์
, ์๋ฃํ) : ์ฃผ๋ฏผ, ๊ณ ์์ด, ๊ฐ๊ตฌ๋ฆฌ
๊ฐ์ฒด(๋ณ์, ๊ฐ, ์ค์ ๋ฉ์๋ ์ํ ์ฃผ์ฒด) : ํ์ฃฝ, 1ํธ , ๋ ์ด๋ , ์์ด๋ค
์๊ฐ์ ๋ค์ฌ ์ฒ์ฒํ ์์ฑํด ๋ณด๋ ์ด๋ฌํ ์ฝ๋๊ฐ ์์ฑ๋์์ต๋๋ค.
import java.util.Random;
import java.util.Scanner;
// ๋๋ฌผ์ ์ฒ ํ๋ก๊ทธ๋จ์ ๋ง๋ค์ด ๋ด
์๋ค.
class Tool {
String name;
Tool(String name){
this.name=name;
}
void action() {
System.out.println("์ก์
");
}
}
class Fishing extends Tool {
Fishing(){
super("๋์๋");
}
@Override
void action() {
System.out.println("์์ ๋์");
}
}
class Dragonfly extends Tool {
Dragonfly(){
super("์ ์๋ฆฌ์ฑ");
}
@Override
void action() {
System.out.println("๊ณค์ถฉ์ฑ์ง");
}
}
class Animal {
String type;
String name;
static String[] datas= {"ํ๋ณตํด์","๋ฌด๋ํฉ๋๋ค","์ฌํผ์","ํ๋ฌ์ด์"};
static Random rand=new Random();
Animal(String type,String name) {
this.type=type;
this.name=name;
}
void hello() {
// [1] 0 -> ํ๋ณต, 1 -> ๋ฌด๋, ... : if๋ฌธ
// [2] ๊ฐ์ [] = {ํ๋ณตํจ / ๋ฌด๋ํจ / ์ฌํ / ํ๋จ} : ๋ฐฐ์ด
int randNum=Animal.rand.nextInt(Animal.datas.length);
System.out.print(Animal.datas[randNum]+",");
}
void action(Tool tool) {
tool.action(); // ๋์ ๋ฐ์ธ๋ฉ -> ๋คํ์ฑ ์คํ
}
@Override
public String toString() {
return this.type+" ์ฃผ๋ฏผ "+this.name;
}
}
class Cat extends Animal {
Cat(String name){
super("๊ณ ์์ด",name);
}
@Override
void hello() {
super.hello();
System.out.println("์ผ์น");
}
}
class Frog extends Animal {
Frog(String name){
super("๊ฐ๊ตฌ๋ฆฌ",name);
}
@Override
void hello() {
super.hello();
System.out.println("๊ฐ๊ตด");
}
}
public class AnimalCrossingProgram {
public static void main(String[] args) {
Animal[] datas=new Animal[1];
datas[0]=new Cat("");
for(int i=0;i<datas.length;i++) {
datas[i].hello();
}
/*
for(๋ฐฐ์ด์ ํ์
๋ณ์๋ช
:๋ฐฐ์ด์ ์ด๋ฆ) {
datas[i].hello();
}
*/
for(Animal animal:datas) {
Tool tool=new Dragonfly();
animal.action(tool);
}
}
}
๋ง๋ฌด๋ฆฌ
์ด๋ฒ 8์ผ ์ฐจ๋ ๋ณต์ตํ๋ ์๊ฐ์ ๋ง์ด ์ฃผ์ ์ ์ง๋๋ฅผ ๋๊ฐ ๋ถ๋ถ์ด ๋๋ฌผ์ ์ฒ ๋ถ๋ถ ๋ฐ์ ์๋ค์
๋ค์ ๋ ํ ํ๋ก์ ํธ ๋ด์ฉ์ด ๋์ค๋ฉด ํ ํ๋ก์ ํธ์ ๋ํด ํ์๋ถ๋ค๊ณผ ํจ๊ป ๋ด์ฉ์ ๋ํด ๋ ผ์ํด๋ณผ ์์ ์ ๋๋ค.
๊ทธ๋ผ ์ ๋ ๋ค์ ๊ธ๋ก ๋์์ค๊ฒ ์ต๋๋ค.
๋ด์ฃผ์ ๋ถ๋ค ๋ชจ๋ ๊ฐ์ฌํฉ๋๋ค.
'ํ์คํ ๊ฐ๋ฐ์ ์์ฑ๊ณผ์ ๐ชซ > ใ Java ใ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Java] ๋ฅ๋ ฅ ๋จ์ ํ๊ฐ (0) | 2024.07.12 |
---|---|
[Java] ์๋ฐ ์ฉ์ด ์ ๋ฆฌ (0) | 2024.07.10 |
[Java] ๊ฐ์ฒด ์ฌํ (0) | 2024.07.10 |
[Java] ํด๋์ค ์์ (1) | 2024.07.10 |
[Java] ๊ฐ์ฒด(Object)์ Class (1) | 2024.07.03 |