담비의 개발블로그

국비지원교육 37일차(8주차&java) 본문

국비교육

국비지원교육 37일차(8주차&java)

담비12 2024. 1. 4. 17:28
static(정적멤버)

 

클래스에 고정된 멤버로서 객체를 생성하지 않고 사용할 수 있는 필드와 메소드

객체마다 가지고 있을 필요가 없는 공용 데이터일 때 사용한다.

 

정적멤버 선언

public class 클래스{

// 정적 필드

 static 타입 필드 [=초기값];

 

// 정적 메소드

static 리턴 타입 메소드(매개변수선언){

 

}

}

 

정적멤버 사용

클래스가 메모리로 로딩되면 클래스 이름과 함께 도트 연산자로 접근한다.

 

클래스.필드;

클래스.메소드(매개값);

 

정적 메소드 선언 시 주의할 점

객체가 없어도 실행된다는 특징 때문에 정적 메소드를 선언할 때는 이들 내부에 인스턴스 필드나 인스턴스 메소드를 사용할 수 없다.

 

싱글톤

 

단 하나만 생성되는 객체

클래스 외부에서 new연산자로 생성자를 호출할 수 없도록 막아야 한다.

외부에서 생성자 호출을 막기 위해 private를 붙여준다.

new를 사용하는게 너무 많은 비용이 들때 싱글톤을 사용하기도 한다.

 

final필드

 

초기값이 저장되면 이것이 최종적인 값이 되어서 프로그램 실행 도중에 수정할 수 없다.클래스, 메소드에 붙을 수 있다.

 

final 타입 필드 [=초기값];

 

 

패키지

 

물리적인 형태는 파일 시스템의 폴더

 

패키지 선언 : 클래스를 작성할 때 해당 클래스가 어떤 패키지에 속할 것인지를 선언하는 것을 패키지 선언이라고 한다.

 

import문 : 사용하고자 하는 클래스 또는 인터네핑스가 다른 패키지에 소속되어 있을 때 불러오려면 import문을 사용해서 불러온다.

import 상위패키지.하위패키지.클래스이름;

import 상위패키지.하위패키지.*; // * 은 해당 패키지에 소속된 모든 클래스를 포함한다.

 

접근제한자

 

접근을 제한하기 위해 사용된다.

 

 

public 접근 제한자 : 단어 뜻 그대로 외부 크래스가 자유롭게 사용할 수 있도록 한다.

private 접근 제한자 : 단어 뜻 그대로 개인적인 것이라 외부에서 사용될 수 없도록 한다.

default 접근 제한 : 같은 패키지에 소속된 클래스에서만 사용할 수 있도록 한다.

 

클래스에서 접근 제한

public 접근 제한자 : 같은 패키지뿐만 아니라 다른 패키지에서도 사용 가능.

default 접근 제한 : public을 생략했다면 default 접근 제한을 가짐.

 

생성자&메소드&필드에서 접근 제한

public 접근 제한자 : 모든 패키지에서 아무런 제한 없이 생성자를 호출 할수 있다.

private 접근 제한자 : 동일한 패키지, 다른패키지 둘다 상관없이 생성자를 호출하지 못한다.

default 접근 제한 : 다른 패키지에서는 생성자를 호출 할 수 없다.