∞. 기술 면접/7. 자바

03. 기술면접 - 자바 - 접근 제어자(Access Modifier)와 데이터 타입 (Data Type) = 자료형

THE HEYDAZE 2021. 10. 20. 11:51
공부목적으로 다른 블로그의 글을 그대로 따라치면서 작성되었습니다. 저작권 문제 시, 비공개 처리하겠습니다

Access-Modifier
접근제어자 표시 설명
public +   어떤 클래스의 객체에서든 접근가능
private -   이 클래스에서 생성된 객체들만 접근가능
protected #   이 클래스와 동일 패키지에 있거나 상속관계에 있는 하위 클래스의 객체들만 접근가능
package ~   동일 패키지에 있는 클래스와 객체들만 접근 가능

+ default 도 있다

 

Non-Access-Modifier

- static : static 영역에서 사용
- final : 상수 선언
- abstract : 추상 클래스 또는 메소드 선언
- synchronized : 멀티 쓰레드 동기화 
- transient : 직렬화 과정에서 특정 필드 제외 할 때 사용
- volatile :  Multi Thread 환경에서 하나의 Thread만 read & write하고 나머지 Thread가 read하는 상황에서 가장 최신의 값을 보장
- strictfp : 타 플랫폼과 부동소수점을 맞춰주는 용도 (부동 소수 오차를 해결해준다고 한다)
              JVM이 부동소수점 연산에 엄격하지 않기 때문에 Strict Floating Point (엄격한 부동소수점) 정책을 적용하여
              일관성을 보장하도록 강제할 수 있다.
              strictfp는 클래스, 인터페이스, 비추상 메소드에 사용될 수 있다.
              (참고: 타 플랫폼이랑 할 경우지 자바내에서 부동소수를 해결하려면 BigDecimal 을 사용해야 한다)

 

데이터 타입 = 자료형 = Data Type
  기본 데이터 타입 = Primitve Data Type 참조 데이터 타입 = Reference Data Type
종류 byte, short, int, long, float, double 등 String, class, array, interface, Enumeration, 등
정수 byte, short, int, long Byte, Short, Integer, Long
(=Wrapper Class, 래퍼 클래스)
실수 float, double Float, Double
(=Wrapper Class, 래퍼 클래스)
논리 boolean Boolean
(=Wrapper Class, 래퍼 클래스)
문자 char Character
(=Wrapper Class, 래퍼 클래스)
설명 기본 타입의 크기가 작고 고정적이기 때문에 메모리의 Stack 영역에 저장된다.   ■ 기본형을 제외하고는 모두 참조형이다.
  ■ new 키워드를 이용하여 객체를 생성하여 
      데이터가 생성된 주소를 참조하는 타입이다.
  ■ String, StringBuffer, List, 개인이 만든
      클래스 등
  ■ String과 배열은 참조 타입과 달리 new 없이
      생성이 가능하지만 기본 타입이 아닌 참조
      타입이다.
  □ 참조 타입의 데이터의 크기가 가변적, 동적
      이기 때문에 동적으로 관리되는 Heap 영역
      에 저장된다.
  □ 더 이상 참조하는 변수가 없을 때 가비지
      컬렉션에 의해 파괴된다.
  □ 참조 타입은 값이 저장된 곳의 주소를 저장
     하는 공간으로 객체의 주소를 저장한다.
     (Call-By-Value)