본문 바로가기
스터디 자료 준비/JAVA

JAVA 스터디를 위한 키워드 18-21

by 세 미 콜 론 2022. 4. 6.
728x90
반응형

18. Array (배열) 
    - 참조타입 (뭉탱이로 들고다니니까^^;)
    - 선언 방법 
         [1] char[] arrayC = {'A','B','C'}
         [2] char[] arrayC2 = new char[3];  // 타입의 초기값이 입력됨, 참조타입은 null이 입력됨
         [3] char[] arrayC3 = new char[]{'A','B','C'}; // 자주 사용하지 않음
     - String str = ""; 은 값이 없음


19. String Ⅱ
     - String str1 = "Happy";
        String str2 = "Happy";
        String str3 = new String("Happy);
              == : 기본타입 비교 
              equals() : 참조타입 비교
        결과) Str1 == Str2 : True
                Str1 == Str3 : False
       
         [Stack]         [heap]
                           r03       h03  -> h02 로 변경
          str3 ───    "Happy" (r01)      -> new를 통해 만들었으므로 String pool이 아닌 그냥 heap 영역에 만들어짐
                         (String pool) : 애초에 영역이 나뉘어 있음
          str2 ─┐    "Happy"
          str1 ─┴─ r01     h01 -> h02 로 변경 (스트링은 자신의 값으로 해시코드 변경 : 오버 라이딩)
     - null : String이 레퍼런스에 연결되어있지 않은 상태
         

20. Shallow Copy (얕은 복사)
     - 참조 타입에서 발생
     - 주소 전달 (pass by reference, mutable)
     - 주소를 전달하기 때문에 주소에 접근해서 값을 변경할 경우, 사용하고 있는 모든 변수의 값이 변경되어 적용된다


21. Switch
    - switch~case 문 : 선택문 입력받은 값과 같은 값이 있는 경우 실행
       fall throw : 작동
       ※ 반드시 break;
       ex) 1.7 이상에서는 String 도 가능
            API에는 정수만을 사용하라고 되어있음
    - 정수만 비교 가능 
    - key와 벨류의 타입이 같아야 함
    - break;가 없으면 아래 값이 모두 실행됨

728x90
반응형

댓글