본문 바로가기

분류 전체보기140

상속 활용 예제 묵찌빠 게임사람과 컴퓨터의 이름을 입력받고 시작한다.게임에서 주도권을 가진 선수를 오너(owner)라고 하며, 사람이 먼저 오너가 된다.사람은 사용자로부터 묵,찌,빠 중 하나를 입력받는다. 잘못된 입력이 들어오면 다시 입력받는다. 컴퓨터는 묵,찌,빠 중에서 랜덤하게 한 개를 선택하고 "결정하였습니다."를 출력한다.사람이 오너인 경우 컴퓨터가 낸 것과 비교하여 같으면 사람이 승자가 되고 프로그램은 종료한다. 컴퓨터가 오너인 경우도 마찬가지이다. 승자가 결정되면 프로그램은 종료한다.사람과 컴퓨터가 낸 것이 달라 승자가 없는 경우, 가위 바위 보 규칙에 따라 이긴 사람이 오너가 된다.사람과 컴퓨터의 공통 행동을 Player 추상 클래스로 만들고 사람은 Human, 컴퓨터는 Computer 클래스를 만들고 이들.. 2024. 8. 18.
Chapter 04 실습 문제 1번class TV{ String company; int inch; int cost; TV(String company,int inch, int cost){ this.company=company; this.inch=inch; this.cost=cost; } public void show() { System.out.printf("%s에서 만든 %d만원짜리의 %d인치 TV",company,inch,cost); }}public class ex4_1 { public static void main(String[] args) { TV tv=new TV("Samsung",50,300); tv.show(); }}2번class Cube{ int length; int width; int height; publi.. 2024. 8. 16.
클래스와 객체 활용 예제 끝말잇기 게임N명이 참가하는 끝말잇기 게임을 만들어보자. 처음 단어는 "아버지"이다. N명의 참가자들은 순서대로 자신의 단어를 입력하면 된다. 끝말잇기에서 끝말이 틀린 경우 게임을 끝내고 게임에서 진 참가자를 화면에 출력한다. 프로그램에서는 시간 지연을 구현하지 않아도 된다. 그렇지만 참가자들이 스스로 시간을 재어 보는것도 좋겠다. 이 문제의 핵심은 여러 개의 객체와 배열 사용을 연습하기 위한 것으로, main()을 포함하는 WordGameApp 클래스와 각 선수를 나타내는 Player 클래스를 작성하고, 실행 중에는 WordGameApp 객체 하나와 선수 숫자만큼의 Player 객체를 생성하는데 있다.class Player { Player(int num){ } public void getWordFr.. 2024. 8. 16.
@Override 개념메소드 오버라이딩(method overriding), 즉 오버라이딩은 슈퍼클래스와 서브 클래스의 메소드 사이에서 같은 이름, 같은 반환형, 같은 매개변수 리스트를 갖는 메소드를 서브클래스에서 재작성하는 것이다. 예를 들어 슈퍼클래스에서의 draw() 함수와 서브클래스에서의 draw()함수가 존재할때, 서브클래스 객체로 선언되어진 객체에서 draw()함수를 호출하게되면 반드시 서브클래스의 draw()함수가 실행된다는 것이다.즉, 메소드 오버라이딩은 '슈퍼 클래스 메소드 무시하기 혹은 덮어쓰기'로 이해할 수 있다. 이는 슈퍼 클래스의 메소드를 무시하고 서브 클래스에서 오버라이딩된 메소드가 무조건 실행되도록 한다는 것인데, 이런 처리를 동적 바인딩이라고 부르며, 메소드 오버라이딩은 동적 바인딩을 유발시킨다.. 2024. 8. 15.
상속 class Point{ private int x,y; public void set(int x, int y) { this.x=x; this.y=y; } public void showPoint() { System.out.println("(" + x + "," + y + ")"); }}class ColorPoint extends Point{ private String color; public void setColor(String color) { this.color=color; } public void showColorPoint() { System.out.print(color); showPoint(); }}public class ColorPointEx { public static void main(S.. 2024. 8. 14.
Chapter 03 실습문제 1번1) 4252)public class ex3_1 { public static void main(String[] args) { int sum=0,i=1; while(true) { if(i>50) { break; } sum+=i; i+=3; } System.out.print(sum); }} 3) public class ex3_1 { public static void main(String[] args) { int sum=0,i=1; for(i=1;i4)public class ex3_1 { public static void main(String[] args) { int sum=0,i=1; do { sum+=i; i+=3; }while(i2번1) 20 72 2562).. 2024. 8. 13.