Java 클래스
this
this.name = name ;
this.name의 name은 인스턴스 필드고 name은 매개변수이다.
this(매개변수, 값 , .. )
클래스의 다른 생성자 호출가능.
중복 코드 제거
static
- 메소드에 인스턴스 필드를 포함하고 있지 않다면 정적 메소드로 선언한다.
- 정적 필드, 정적 메소드는 클래스 이름에 도트(.) 연산자를 이용하여 객체 생성없이 바로 사용이 가능하다.
정적 메소드 선언 시 this키워드 없이 정적 필드를 바로 사용 가능하다. 인스턴스 필드를 사용하고 싶다면 메소드 내부에 객체를 생성하고 사용한다.
싱글톤
전체 프로그램에서 어떤 클래스에 대해 단 하나의 객체만 만들게 허용한다면..여기서 생성된 객체를 싱글톤이라고 한다.
-
생성자에 static을 붙여 외부에서의 호출을 막는다.
필드에도 static을 붙여 외부에서 변경하지 못 하게 한다. -
오직 getInstance( ) 메소드가 외부에서 객체를 사용하는 유일한 방법이다.
싱글톤의 정적 필드 선언, 초기화 방법
클래스 자신의 타입으로 정적 필드를 하나 선언하고, 선언한 그 정적 필드에 자신의 객체를 생성하여 초기화 한다.
public class Singleton {
private static Singleton singleton = new Singleton();
//정적 필드
Singleton() {}
//정적 생성자
static Singleton getInstance() {
return singleton;
}
}
싱글톤 객체는 단 하나이기 때문에 외부에서 참조하는 싱글톤 객체는 모두 동일하다.
외부 클래스에서 new 연산자 사용없이 도트(.)를 이용해 아래 형식처럼 바로 사용한다.
싱글톤클래스.getInstance()
final 필드
필드 선언시 또는 생성자에서 초기값을 지정하면 그 값이 최종 값이 되는 필드이다.
상수
static final
상수는 객체마다 존재하는게 아니라 클래스에만 존재한다.
접근 제한자
default
같은 패키지에서만
public
모든 패키지에서
protected
같은 패키지 또는 다른 패키지의 자식 클래스에서만 사용 가능
private
내부 클래스 내부에서만
.
.
.
.
.
.
.
.
싱글톤_혼공자 p.279
Author And Source
이 문제에 관하여(Java 클래스), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@daegari/Java저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)