본문 바로가기
반응형

study/JAVA8

접근 제한자( Access Modifier) 다른 패키지에서 클래스를 사용 못하게 막음 (클래스 제한) 클래스로부터 객체를 생성하지 못하게 막음 (생성자 제한) 특정 필드와 메서드를 숨김 처리함 (필드와 메서드 제한) - 접근 제한자 종류 순서대로 접근 제한이 강화된다. 접근 제한 적용 대상 접근할 수 없는 클래스 public 클래스, 필드, 생성자, 메소드 없음 protected 필드, 생성자, 메소드 자식 클래스가 아닌 다른 패키지에 소속된 클래스 default 클래스, 필드, 생성자, 메소드 다른 패키지에 소속된 클래스 private 필드, 생성자, 메소드 모든 외부 클래스 ※ default는 아무것도 안 붙이는 것을 뜻함. - 실습 -- 1. 생성자 접근 제한 패키지를 두개 만든다. (package1, package2) package1 안에.. 2022. 2. 18.
상수(static final) - 상수(static final)란? 객체마다 가지고 있지 않고, 메서드 영역에서 클래스별로 관리되는 불변의 정적 필드 공용 데이터로서 사용 - 상수 선언과 초기화 * 전부 대문자로 작성하고, 다른 단어 결합 시 _ 로 연결하는 것이 관례 1. Earth 클래스 생성함. public class Earth { static final double EARTH_RADIUS = 6400; static final double EARTH_SURFACE_AREA; static { EARTH_SURFACE_AREA = 4 * Math.PI * EARTH_RADIUS * EARTH_RADIUS; } } EARTH_RADIUS 에는 값을 바로 할당 했고, EARTH_SURFACE_AREA 는 static 블록으로 할당함. .. 2022. 2. 14.
final 필드 - final 필드란? 객체마다 가지는 불변의 인스턴스 필드 값을 변경할 수 없는 필드 - final 필드의 딱 한번의 초기값 지정 방법 1.필드 선언시 방법 public class Person { final String nation = "Korea"; } 처음에 "Korea"가 대입이 되면 final로 인해서 nation은 수정될 수 없게 된다. 즉, Korea 로만 사용해야 함. 2.생성자에 주는 방법 public class Person { final String ssn; String name; public Person(String ssn, String name) { this.ssn = ssn; this.name = name; } } 초기값 없이 선언된 final 필드 생성자에서만 값을 줄 수 있다... 2022. 2. 14.
싱글톤(Singleton) 생성과 얻는법 - 싱글톤 만드는 방법 라이브러리 클래스를 하나 만들어준다. (main 메서드 없는 클래스) 1. 외부에서 new 연산자로 생성자를 호출 못하게 막는다. (private 접근 제한자를 생성자 앞에 붙임) public class Singleton { private static Singleton singleton = new Singleton(); } 2. 클래스 자신의 타입으로 정적 필드 선언하고, 자신의 객체를 생성하고 초기화한다. (private 를 붙여 외부에서 필드 값 변경 못하게 함.) public class Singleton { private static Singleton singleton = new Singleton(); private Singleton() { } } 3. 외부에서 호출 가능하게.. 2022. 2. 14.
반응형