SSISO Community

시소당

native/ transient/ synchronized/ volatile 제한자와 위치

이절에서 소개하는 제한자는 자주 사용되지는 않는다. 하지만 이 제한자들이 어떤 용도로 사용되는지에 대해서는 알으시면 될것 같습니다.    이 제한자들 또한 자바 키워드임을 명심하자.

 

native 제한자

 - native 제한자(modifier)는 자바가 아닌 다른 언어로 작성된 코드를 자바에서 사용하기 위한 것이다.

    이제한자는 반드시 메소드에만 선언되어야 한다.

 

transient 제한자

 - transient 제한자는 객체가 직렬화되는 과정에서 해당 필드가 저장되지 않아야 한다는 것을 알리기

    위해 사용된다. 이 제한자는 반드시 멤버 변수에만 선언되어야 한다.

 

synchronized 제한자

 - synchronized 제한자는 코드의 같은 블록을 하나 이상의 스레드가 동시에 접근하는 것을 막기 위

    해 사용된다. 이 제한자는 반드시 메소드나 블록에 선언되어야 한다.

 

volatile 제한자

 - volatile 제한자는 변수가 스레드에 의해 비동기적으로 변경될 수 있음을 알리기 위해 사용된다. 이

    제한자는 final 변수를 제외한 변수에 선언될 수 있다.

 

제한자들은 선언될 수 있는 위치가 정해져 있기 때문에 선언 기능 위치에 대해서 정확히 알고 선언하는 것이 중요하다.

제한자

변수

메소드

클래스

내부 클래스

public

private

×

protected

×

final

abstract

×

static

×

native

×

×

×

transient

×

×

×

volatile

×

×

×

synchronized

×

×

×

 

※ 제한자의 선언 위치    

654 view

4.0 stars