- 아래의 코드가 실행되도록 수정하세요.

 

1. Dog, Cat 클래스 추가
2. AnimalMethod 클래스에서 checkUp, bigger 제네릭 메서드 추가
3. checkUp메서드 body에 System.out.println(매개변수); 추가
4. bigger 메서드 호출시 size값이 더 큰 객체 출력

 

// (출력예시)

// checkUp 메서드 호출시
// Dog{name='강아지', size=200}
// Cat{name='고양이', size=100}

// bigger 메서드 호출후 result값 출력시
// result = Dog{name='강아지', size=200}

 

package genericMethod.quiz;

public class Main {

    public static void main(String[] args) {

        Dog dog = new Dog("강아지", 200);
        Cat cat = new Cat("고양이", 100);

        AnimalMethod.checkUp(dog);
        AnimalMethod.checkUp(cat);


        Animal result = AnimalMethod.bigger(dog, cat);
        System.out.println("result = " + result);
    }
}

'자바 문제 > 실습' 카테고리의 다른 글

제네릭 실습 문제  (0) 2024.07.30
다형성 실습 문제  (0) 2024.07.24
상속 실습 문제  (0) 2024.07.22
static 2  (0) 2024.07.17
static 1  (0) 2024.07.15

1. 아래의 코드가 실행되도록 수정하세요.

  - Dog, Cat, Animal(부모) 클래스 추가
  - animalBox 제네릭 클래스 추가
  - animalBox.setValue(객체) 호출후 animalBox.getValue() 출력시 아래 출력예시와 같이 나오도록 코드 수정

 

// (출력예시)

// animalBox.getValue() = Animal{name='고양이', age=12}
// animalBox.getValue() = Animal{name='강아지', age=13}

 

package generic.quiz;

public class Main {
    public static void main(String[] args) {
        
        Animal animal = new Animal("동물", 0);
        Cat cat = new Cat("고양이", 12);
        Dog dog = new Dog("강아지", 13);


        AnimalBox<Animal> animalBox = new AnimalBox<>();
        animalBox.setValue(cat);
        System.out.println("animalBox.getValue() = " + animalBox.getValue()); // animalBox.getValue() = Animal{name='고양이', age=12}
        animalBox.setValue(dog);
        System.out.println("animalBox.getValue() = " + animalBox.getValue()); // animalBox.getValue() = Animal{name='강아지', age=13}
    }
}

'자바 문제 > 실습' 카테고리의 다른 글

제네릭 메서드 실습 문제  (0) 2024.07.31
다형성 실습 문제  (0) 2024.07.24
상속 실습 문제  (0) 2024.07.22
static 2  (0) 2024.07.17
static 1  (0) 2024.07.15

1. useNoticeBoard, useuseNoticeBoard, useInformationBoard 메서드와 같이 중복되는 코드를 useBoard메서드를 구현하여 중복 제거
2. 게임 게시판(gameBoard) 클래스 추가

(출력예시)

공지사항 게시판 사용
공지사항 게시판의 글이 정상적으로 추가 되었습니다.

자유 게시판 사용
자유 게시판의 글이 정상적으로 추가 되었습니다.

정보 게시판 사용
자유 게시판의 글이 정상적으로 추가 되었습니다.

게임 게시판 사용
게임 게시판의 글이 정상적으로 추가 되었습니다.
package abstract1.quiz;

public class Main {
    public static void main(String[] args) {
        NoticeBoard noticeBoard = new NoticeBoard();
        FreeBoard freeBoard = new FreeBoard();
        InformationBoard informationBoard = new InformationBoard();

        useNoticeBoard(noticeBoard);
        useuseNoticeBoard(freeBoard);
        useInformationBoard(informationBoard);


        // TODO 한개의 메서드를 통해 동작 처리
//        useBoard(noticeBoard);
//        useBoard(freeBoard);
//        useBoard(informationBoard);
//        useBoard(gameBoard);
    }
    public static void useNoticeBoard (NoticeBoard noticeBoard) {
        System.out.println("공지사항 게시판 사용");
        noticeBoard.createBoard();
        System.out.println("");
    }

    public static void useuseNoticeBoard (FreeBoard freeBoard) {
        System.out.println("자유 게시판 사용");
        freeBoard.createBoard();
        System.out.println("");
    }

    public static void useInformationBoard (InformationBoard informationBoard) {
        System.out.println("정보 게시판 사용");
        informationBoard.createBoard();
        System.out.println("");
    }

    //TODO 출력예시와 같이 나오도록 아래 메서드 구현(다형적 참조 사용)
    public static void useBoard (Board board) {
        board.createBoard();
    }
}
package abstract1.quiz;

public class Board {
    public void createBoard () {
        System.out.println("");
    }
}
package abstract1.quiz;

public class FreeBoard{
    public void createBoard () {
        System.out.println("글이 정상적으로 작성되었습니다.");
    }
}
package abstract1.quiz;

public class InformationBoard{
    public void createBoard () {
        System.out.println("글이 정상적으로 작성되었습니다.");
    }
}
package abstract1.quiz;

public class NoticeBoard{
    public void createBoard () {
        System.out.println("글이 정상적으로 작성되었습니다.");
    }
}

 

'자바 문제 > 실습' 카테고리의 다른 글

제네릭 메서드 실습 문제  (0) 2024.07.31
제네릭 실습 문제  (0) 2024.07.30
상속 실습 문제  (0) 2024.07.22
static 2  (0) 2024.07.17
static 1  (0) 2024.07.15

1. 공지사항, 자유게시판, 정보게시판 클래스에서 중복적으로 사용되는 변수와 메서드를 부모클래스(Board)를 추가하여 코드를 수정하세요.
2. 게임게시판(gameBoard)을 추가
3. 모든 자식클래스에서 createBoard메서드를 overriding하여 "??? 게시판의 글이 정상적으로 추가 되었습니다."라고 재정의하기

(출력예시)

공지사항 게시판 사용
정상적으로 추가 되었습니다.
조회에 성공했습니다.
정상적으로 수정 되었습니다.
정상적으로 삭제 되었습니다

자유 게시판 사용
정상적으로 추가 되었습니다.
조회에 성공했습니다.
정상적으로 수정 되었습니다.
정상적으로 삭제 되었습니다

정보 게시판 사용
정상적으로 추가 되었습니다.
조회에 성공했습니다.
정상적으로 수정 되었습니다.
정상적으로 삭제 되었습니다

게임 게시판 사용
정상적으로 추가 되었습니다.
조회에 성공했습니다.
정상적으로 수정 되었습니다.
정상적으로 삭제 되었습니다

 

package extends1.quiz;

public class Main {
    public static void main(String[] args) {
    
        NoticeBoard noticeBoard = new NoticeBoard();
        FreeBoard freeBoard = new FreeBoard();
        InformationBoard informationBoard = new InformationBoard();
        //GameBoard gameBoard = new GameBoard();

        System.out.println("공지사항 게시판 사용");
        noticeBoard.createBoard();
        noticeBoard.readBoard();
        noticeBoard.updateBoard();
        noticeBoard.deleteBoard();
        System.out.println("");

        System.out.println("자유 게시판 사용");
        freeBoard.createBoard();
        freeBoard.readBoard();
        freeBoard.updateBoard();
        freeBoard.deleteBoard();
        System.out.println("");

        System.out.println("정보 게시판 사용");
        informationBoard.createBoard();
        informationBoard.readBoard();
        informationBoard.updateBoard();
        informationBoard.deleteBoard();
        System.out.println("");

        System.out.println("게임 게시판 사용");
//        gameBoard.createBoard();
//        gameBoard.readBoard();
//        gameBoard.updateBoard();
//        gameBoard.deleteBoard();

    }
}

 

package extends1.quiz;

public class FreeBoard{

    public int id;
    public String title;
    public String content;

    public void createBoard() {
        System.out.println("정상적으로 추가 되었습니다.");
    }

    public void readBoard() {
        System.out.println("조회에 성공했습니다.");
    }

    public void updateBoard() {
        System.out.println("정상적으로 수정 되었습니다.");
    }

    public void deleteBoard() {
        System.out.println("정상적으로 삭제 되었습니다");
    }
}

 

package extends1.quiz;

public class InformationBoard{
    public int id;
    public String title;
    public String content;

    public void createBoard() {
        System.out.println("정상적으로 추가 되었습니다.");
    }

    public void readBoard() {
        System.out.println("조회에 성공했습니다.");
    }

    public void updateBoard() {
        System.out.println("정상적으로 수정 되었습니다.");
    }

    public void deleteBoard() {
        System.out.println("정상적으로 삭제 되었습니다");
    }
}

 

package extends1.quiz;

public class NoticeBoard{

    public int id;
    public String title;
    public String content;

    public void createBoard() {
        System.out.println("정상적으로 추가 되었습니다.");
    }

    public void readBoard() {
        System.out.println("조회에 성공했습니다.");
    }

    public void updateBoard() {
        System.out.println("정상적으로 수정 되었습니다.");
    }

    public void deleteBoard() {
        System.out.println("정상적으로 삭제 되었습니다");
    }
}

'자바 문제 > 실습' 카테고리의 다른 글

제네릭 실습 문제  (0) 2024.07.30
다형성 실습 문제  (0) 2024.07.24
static 2  (0) 2024.07.17
static 1  (0) 2024.07.15
접근제어자  (0) 2024.07.10

문제

1. 아래 내용의 메서드 호출 부분을 작성하세요.
2. Data클래스의 staticCall, instanceCall 메서드에서 주석 처리 된 부분중 접근이 가능한 부분은 주석 해제를 수정하세요.

 

// Main 클래스

package static2.quiz;

public class Main {

    public static void main(String[] args) {
        


        // Data클래스 staticCall 정적 메서드 호출


        // Data클래스 instanceCall 인스턴스 메서드 호출
    }

}
// Data 클래스

package static2.quiz;

public class Data {
    private int instanceValue;
    private static int staticValue;

    public static void staticCall() {
        //instanceValue++;
        //instanceMethod();

        //staticValue++;
        //staticMethod();
    }

    public void instanceCall() {
        //instanceValue++;
        //instanceMethod();

        //staticValue++;
        //staticMethod();
    }

    public static void staticMethod() {
        System.out.println("staticValue = " + staticValue);
    }

    public void instanceMethod() {
        System.out.println("instanceValue = " + instanceValue);
    }
}

 

'자바 문제 > 실습' 카테고리의 다른 글

제네릭 실습 문제  (0) 2024.07.30
다형성 실습 문제  (0) 2024.07.24
상속 실습 문제  (0) 2024.07.22
static 1  (0) 2024.07.15
접근제어자  (0) 2024.07.10

문제

- 메인함수 실행시 data1, data2, data3의 id값이 1씩 들어가고 있다.

- 메인함수에서 Data클래스의 인스턴스를 생성시 Id값이 1씩 증가하여 값이 들어가게 하고 싶음
- static 키워드를 사용하여 아래의 출력 예시처럼 나오도록 수정해주세요

 

출력 예시

data1.Id = 1
data2.Id = 2
data3.Id = 3

 

// Main클래스

package ex2.quiz;

public class Main {
    public static void main(String[] args) {
        Data data1 = new Data("A");
        System.out.println("data1.Id = " + data1.Id); // data1.Id = 1

        Data data2 = new Data("B");
        System.out.println("data2.Id = " + data2.Id); // data2.Id = 1

        Data data3 = new Data("C");
        System.out.println("data3.Id = " + data3.Id); // data3.Id = 1

    }
}

 

// Data 클래스

package ex2.quiz;

public class Data {
    public String name;
    public int Id;

    public Data(String name) {
        this.name = name;
        this.Id++;
    }
}

 

'자바 문제 > 실습' 카테고리의 다른 글

제네릭 실습 문제  (0) 2024.07.30
다형성 실습 문제  (0) 2024.07.24
상속 실습 문제  (0) 2024.07.22
static 2  (0) 2024.07.17
접근제어자  (0) 2024.07.10

문제

- Customer 객체는 자신의 멤버변수와 멤버메서드에만 접근해야한다.
- requestAccountOpening메서드 이외에는 Customer객체는 Bank클래스 내부의 기능을 사용하거나 속성값을 변경할 수 없다.
- 아래 출력 예시와 같이 나오도록 Main클래스와 Bank클래스의 코드를 수정하세요.

 

출력 예시

customer.bankName : 국민은행
customer.balance : 10
customer.accountNumber : 100020003000

 

// Main 클래스

package access.quiz;

public class Main {
    public static void main(String[] args) {

        // 요청사항 확인후 불가능한 코드는 삭제하세요.
        Customer customer = new Customer("kjs");
        customer.bankName = "신한은행";
        customer.balance = 111110;
        customer.accountNumber = 1002132444;
        customer.bankOpenTime = 5;
        customer.bankCloseTime = 20;
        customer.isOpen();
        customer.makeAccountNumber();
        customer.checkAccountType("적금");
        customer.requestAccountOpening(10, "국민은행", "적금");


        System.out.println("customer.bankName : " + customer.bankName);
        System.out.println("customer.balance : " + customer.balance);
        System.out.println("customer.accountNumber : " + customer.accountNumber);

    }
}

 

// Customer

package access.quiz;

public class Customer extends Bank {

    public String name;

    public Customer(String name) {
        //super();
        this.name = name;
    }

    public void requestAccountOpening(int balance, String bankName, String accountType) {
        super.createAccount(balance, bankName, accountType);
        System.out.println("계좌 개설 완료되었습니다.");
    }
}

 

// Bank 클래스

package access.quiz;

public class Bank {

    public int balance;
    public String bankName;
    public int accountNumber;
    public int bankOpenTime = 9;
    public int bankCloseTime = 16;


    // 계좌 개설
    public void createAccount(int balance, String bankName, String accountType) {
        isOpen();
        checkAccountType(accountType);
        setBankName(bankName);
        makeAccountNumber();
    }

    // 영업시간 여부 확인
    public boolean isOpen() {
        int nowTime = 10;
        return bankOpenTime < nowTime && bankCloseTime > nowTime ? true : false;
    }

    // 계좌 종류 확인
    public void checkAccountType(String type) {
    }

    // 계좌번호 생성
    public void makeAccountNumber() {
    }

    // 은행명 설정
    public void setBankName(String bankName) {
    }


}

 

'자바 문제 > 실습' 카테고리의 다른 글

제네릭 실습 문제  (0) 2024.07.30
다형성 실습 문제  (0) 2024.07.24
상속 실습 문제  (0) 2024.07.22
static 2  (0) 2024.07.17
static 1  (0) 2024.07.15

+ Recent posts