열심히 끝까지

[능력단위평가] - 6/27 문제 답안 본문

디바이스 융합 자바(Java)기반 풀스택 개발자 양성과정(과제)

[능력단위평가] - 6/27 문제 답안

노유림 2022. 6. 27. 11:40

조편성테스트_문제.pdf
0.05MB

시험풀이!
[오답만 오답풀이체크]
문제는 pdf로 저장되어있는 것 사용
1. 3번
2. 2번 
3. 1번
4. 4번
5. 4번
6. 3번


7. 3번 <- func()순서가 1번
              바나나를 출력한 후
              Banana101010 << 이것이 답
              1. func()
              2. "10"
              3. 10


8. 2번
9. 3번
10. 국제적으로 시험을 보는 형식으로 시험 출제
     2 -> 3 -> 4 -> 1 


11. 자식이 부모를 상속받으면서 공개범위를 더 좁혀버리는 것은 불가능
     부모격인 object가 퍼블릭이였었는데 
     private를 벗겨야한다
     혹은
     부모의 것을 가져가야하기때문에 하이딩 시키는 것도 맞다.


12. 3번


13. 제네릭이 없다...
     제네릭 추가<Integer> object 
     5
    (2)로 최초생성하고 나서 더 추가하면 또 2개를 더 추가한다.
    경향성
    일반적으로 ()에 무언가를 작성하지 않는다.      

    forEach문
    for(저장된 데이터의 자료형  변수형 : 데이터 집합)
    for(int v: data){
         System.out.println(v);
    }

public class Test01 {
	public static void main(String[] args) {
		ArrayList<Integer> al = new ArrayList<Integer>(2);
		// (2)로 최초생성하고 나서 더 추가하면 또 2개를 더 추가한다.
		// 경향성
		// 일반적으로 ()에 무언가를 작성하지 않는다.
		al.add(10);
		al.add(10);
		al.add(10);
		for(int obj : al) {
			System.out.println(obj);
		}
	}
}

 

13번의 추가 설명

package class03;
import java.util.ArrayList;
import java.util.Iterator;
public class Test01 {
	public static void main(String[] args) {
		// [forEach문]
		int[] data = {10, 20, 30};
		// 원래 index로 접근해 출력하는 방법 밖에 없었다.
		// 근데 forEach문은 단번에 출력하는 것을 가능하게 해준다
		for(int v : data) { // 'value의 앞글자' , 복사체
			// data의 값을 잠시 받아오는 일시적 공간을 만들어 사용
			// 이 scope가 끝나면 메모리 해제
			// 콜론 하나로 영역을 두개로 나눈다
			// 데이터의 집합이면 어떤것이든 사용 가능
			v++;
			// ++영향이 가지 않는다!
			System.out.println(v);
		}
		/*
		for(int i = 0; i < 10; i++) {
			data[i];
		}
		*/
		ArrayList<Integer> al = new ArrayList<Integer>(2);
		al.add(1);
		al.add(2);
		al.add(3);
		al.add(4);
		al.add(5);
		for(int v : al) {
			System.out.println(v);
		}
		// [이터레이터]
		Iterator itr = al.iterator(); // 복사체 
		// 모든 데이터 집합이면 사용 가능
		// iterator라는 메서드는 iterator가 나오는 값, 이름의 클래스(자료형)존재
		while(itr.hasNext()) {
			System.out.println(itr.next());
		}
	}
}

[forEach문]
    원래 index로 접근해 출력하는 방법 밖에 없었다.
    근데 forEach문은 단번에 출력하는 것을 가능하게 해준다
    data의 값을 잠시 받아오는 일시적 공간을 만들어 사용
    이 scope가 끝나면 메모리 해제
    콜론 하나로 영역을 두개로 나눈다
    데이터의 집합이면 어떤것이든 사용 가능
     v++과 같은 것이 숫자에 영향을 끼치지 않는다!

[이터레이터]
    Iterator itr = al.iterator(); 
    -> 복사체 
    모든 데이터 집합이면 사용 가능
    iterator라는 메서드는 iterator가 나오는 값, 이름의 클래스(자료형)존재
  ex)
    while(itr.hasNext()) {
         System.out.println(itr.next());
     }

-----------------------------------------------------------------------------------------------------

 

>> 7번 11번 13번을 틀렸는데..

    솔직히 나 스스로에게 너무 열이 받았다......

 

    13번에 분명 제네릭<Integer> 잘만 기억해놓은 것을

    안 쓴것도 너무 열받고....

 

    11번은 둘다 뺏겨버리지 왜 하나만 뺏겼나.. 싶고

 

    7번에 func()이 우선순위가 될 줄은 몰랐다

     "10"이 우선으로 나올 줄 알았는데 거기서 많이 헷갈렸었다.

 

    오늘의 오답노트로 더이상 잊지 말 것

    특히, <Integer> 잊지마라.. 나야 바보냐..

    정신 꼭 차려라!!!!