코드 그라데이션

자바 퀴즈 아이디어 정리 (1) 본문

Java/Mega

자바 퀴즈 아이디어 정리 (1)

완벽한 장면 2023. 5. 7. 01:43

1.

- 올림픽게임과 살짝 비교해서 보면 좋을 듯

- 올림픽은 국적을 필드에 놓는 것을 고려할 수 있다고 보면,

  선수의 국적이 달라질 때, 선수의 행동이 달라지거나 가질 수 있는 값이 달라지진 않는다.

- 그런데 포켓몬은?

  피카츄와 파이리가 종족이 달라지면 서로 다르다(공격력 능력치, 회복력 등...)

 => 이럴 때는 다른 클래스로 만드는 게 효율적일 듯

- 만약 피카츄, 파이리 꼬북이가 그냥 별칭에 불과하다면, nickname이라는 필드 변수로만 선언해놔도 무방하겠지.


2. 

 

- 이 문제는 사실

  두 개의 차이를 아느냐 묻는 문제

Person person;
Person person = new Person();

- 위는 사람을 가리킬 수 있는 화살표가 만들어진 것이고(연결 x)

- 아래는 new를 한 시점에 실제 객체가 만들어진 것.

 

- 물건이 팔렸을 때, null이 남아있다(nullChange)는 사실이 매우 중요함.

- 문방구에서 팔렸으면 문방구에서는 null이지만, 학생의 필통에는 객체가 들어간다는 사실!


3.

 

- 선수 클래스를 하나 만들고, 객체를 네 개 만들어서 레인번호 / 국적으로 차별화

- 그런데 항상 1번레인에 한국 선수가 올 거라는 보장은 없다.

<해결책>

1. 선수별 클래스 생성

2. 선수 클래스는 하나만 만든 다음에, 나라를 필드로 선언해서 구분

(나머지 구성요소는 동일하여 굳이 선수별로 클래스를 만들 필요가 없다고 판단된다면.)

 

- 주사위 문제와 동일

 


4.

- 클래스 내부에서 static과 non-static의 차이를 알고 있느냐가 중요한 문제

* static은 객체를 만들지 않아도, 클래스에 . 찍고 바로 값을 가져올 수 있음

* non-static은 객체를 만들어야만이 활용 가능함.

- 동물이 음식을 가진다고 하면 얘는 non-static이어야.

 


6. 

 

- 동물이라는 클래스에서 private한 필드를 가지고 있다고 치고, 개, 고양이, 새가 동물을 상속받는다고 하자

- 이 때 상속받아도 private는 못 본다는 것 유의

- 클래스라면 반드시 가져야할 함수 : 생성자

=> 그런데, 동물이라는 클래스 자체가 객체로 만들어질 필요성이 있는가를 잘 생각해봐야.

(현실에서 강아지, 고양이는 있어도 "동물"이라는 존재는 없으니까...)

=> 그래서 동물클래스는 추상클래스로 만드는 게 좋을 듯.


7.

- 이것은 상속문제 아님

- 문제에서 요구하는 바대로 하면 될 듯.


8.

- 전형적인 getter, setter 활용 문제

- 물을 10개씩 효율적으로 쪼개기 위해 물 배열을 2차원으로 만드는 idea.


9.

- 생성자에서 super() 활용

- 오버라이딩 개념

- 함수 인자로 객체가 들어가는 idea.


 

10. 

- 상속 문제 아님.

- 왼쪽 -> 오른쪽 이동 시에는 순차적 이동

- 오른쪽-> 왼쪽 이동 시에는 첫 번째 칸은 왼쪽->오른쪽 이동이라는 idea.


11. 

 

 - 컴퓨터, 에어컨, 냉장고, 공기청정기가 한꺼번에 Product 타입으로 묶일 수 있구나!

- 부모 타입의 참조변수에는 자식 타입의 객체가 들어갈 수 있다.

- 그러나 자식 타입의 참조변수에는 부모 타입의 객체는 들어갈 수가 없다!!!

- 객체가 뭔지가 중요하면 instanceof 활


12.

- ArrayList 사용하니 배열의 크기를 자유롭게 만듦.

- get으로 요소를 가져와서 equals로 비교

- 여기서는 상품 구매 로직이 전부 사라져도 됨.

 


13.

- 특수한 문제

- 누가 죽었는지 확인(hp<=0)

 


14.

- new Dog(color[colorRandom]) 요런 식의 발칙한 아이디


15. 

- 탈 것도 개념적인 구현체라고 볼 수 있어서 추상클래스화 하면 좋을 듯.

- 추상클래스는 필드를 가질 수 있음.

- 오버라이딩의 조건 : 상속, 메서드 시그니처(이름, 매개변수)가 동일해야 함


16.

 

728x90

'Java > Mega' 카테고리의 다른 글

자바 퀴즈 아이디어 정리 (3)  (0) 2023.05.07
자바 퀴즈 아이디어 정리 (2)  (0) 2023.05.07
Day33-34. 자바 GUI  (0) 2023.05.07
Day32. 네트워크 (3) 예제  (0) 2023.05.06
Day32. 네트워크 (2) TCP / UDP  (0) 2023.05.06
Comments