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

 

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

다음중 옳지 않은 것은?

package genericMethod;

public class GenericMethod<S> {

    public <T> T instanceMethod1 (T value) {                        // 1
        System.out.println("value = " + value);
        return value;
    }

    public <S extends Number> S instanceMethod2 (S value) {         // 2
        System.out.println("value = " + value);
        return value;
    }

    static <T> T genericStaticMethod1 (T value) {                   // 3
        System.out.println("value = " + value);
        return value;
    }

    S instanceMethod3 (S value) {                                   // 4
        System.out.println("value = " + value);
        return value;
    }

    static S genericStaticMethod2 (S value) {                       // 5
        System.out.println("value = " + value);
        return value;
    }
}

 

5

 

다음중 틀린것을 찾으세요.
1. 클래스 내부 멤버변수에서 사용할 데이터 타입을 외부에서 지정하는 기법이다.
2. 제네릭의 타입 인자로 기본형(int, double)은 사용할 수 없다.
3. 제네릭은 extends 키워드를 붙여서 타입 매개변수를 제한하고 원하는 타입과 하위 타입들만 받도록 설정할 수 있다.
4. 복수 타입 파라미터를 지정할 수 없다.

4

'자바 문제 > 이론' 카테고리의 다른 글

추상클래스 이론 문제  (0) 2024.07.24
instanceof 이론 문제  (0) 2024.07.23
상속 이론 문제  (0) 2024.07.17
static  (0) 2024.07.15
접근제어자  (0) 2024.07.11

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. 추상 클래스를 선언할때 abstract 키워드를 붙여주면 된다.
2. 추상 클래스는 직접 인스턴스 생성을 못한다.
3. 추상 클래스는 일반 클래스와 동일하게 생성자와 본체가 구현되어 있는 메서드를 사용할 수 없다.
4. 추상 메서드가 하나라도 있는 클래스는 추상 클래스로 선언해야 한다.
5. 추상 메서드는 상속 받은 자식 클래스에서 반드시 오버라이딩 해서 사용해야 한다.

 

3

'자바 문제 > 이론' 카테고리의 다른 글

제네릭 이론 문제1  (0) 2024.07.31
instanceof 이론 문제  (0) 2024.07.23
상속 이론 문제  (0) 2024.07.17
static  (0) 2024.07.15
접근제어자  (0) 2024.07.11

다음 코드에서 문법적인 오류가 발생하거나 false로 출력되는 문장을 모두 선택하세요. (중복허용)

Parent parentA = new Parent(); // 1
Parent parentB = new Child(); // 2
Child childA = new Parent(); // 3
Child childB = new Child(); // 4

System.out.println(parentA instanceof Parent); // 5
System.out.println(parentB instanceof Parent); // 6
System.out.println(childA instanceof Parent); // 7
System.out.println(childB instanceof Parent); // 8

System.out.println(parentA instanceof Child); // 9
System.out.println(parentB instanceof Child); // 10
System.out.println(childA instanceof Child); // 11
System.out.println(childB instanceof Child); // 12

 

3, 7, 9, 11

'자바 문제 > 이론' 카테고리의 다른 글

제네릭 이론 문제1  (0) 2024.07.31
추상클래스 이론 문제  (0) 2024.07.24
상속 이론 문제  (0) 2024.07.17
static  (0) 2024.07.15
접근제어자  (0) 2024.07.11

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개 이상의 부모클래스를 상속받을 수 있다.
2. 부모 클래스로부터 상속받은 필드나 메서드를 접근할때는 super 키워드를 사용한다.
3. 부모 클래스와 자식 클래스의 id라는 변수명을 둘다 가지고 있을때 자식 인스턴스에서 id에 접근시 부모클래스의 id변수에 먼저 접근한다.
4. 자바의 모든 클래스는 최상위 클래스인 Object클래스를 상속받는다.
5. 자식 클래스의 인스턴스 생성시 부모 인스턴스도 같이 생성된다.

1, 3

 

오버라이딩에 대한 설명으로 틀린것은?

1. 메서드 이름이 같아야 한다.

2. 메서드 매개변수(파라미터) 타입, 순서, 개수가 같아야 한다.

3. 반환타입이 같아야 한다.

4. 상위 클래스의 메서드보다 더 많은 체크 예외를 선언할 수 없다.

5. final 메서드는 재정의할때 접근제어자를 public으로 해야한다.

 

5

'자바 문제 > 이론' 카테고리의 다른 글

제네릭 이론 문제1  (0) 2024.07.31
추상클래스 이론 문제  (0) 2024.07.24
instanceof 이론 문제  (0) 2024.07.23
static  (0) 2024.07.15
접근제어자  (0) 2024.07.11

+ Recent posts