의견.png

"소유제어자"의 두 판 사이의 차이

위키원
이동: 둘러보기, 검색
(목적 varet, , >, 2014-03-25)
10번째 줄: 10번째 줄:
  
 
== 목적 <ref name = 'staic03'> varet, <[https://vaert.tistory.com/101 Static 키워드 바로 알고 사용하자]>, <<개인 블로그>>, 2014-03-25 </ref> ==
 
== 목적 <ref name = 'staic03'> varet, <[https://vaert.tistory.com/101 Static 키워드 바로 알고 사용하자]>, <<개인 블로그>>, 2014-03-25 </ref> ==
# [[클래스를 설계할 때, 멤버 변수 중 모든 인스턴스에 공통적으로 사용해야하는 것에 static을 붙인다.
+
# [[클래스]]를 설계할 때, 멤버 변수 중 모든 인스턴스에 공통적으로 사용해야하는 것에 static을 붙인다.
 
: 인스턴스를 생성하면, 각 인스턴스들은 서로 독립적이기 때문에 서로 다른 값을 유지한다. 경우에 따라서는 각 인스턴스들이 공통적으로 같은 값이 유지되어야 하는 경우 static을 붙인다. 대표적으로 [[싱글톤패턴]]이 있다.
 
: 인스턴스를 생성하면, 각 인스턴스들은 서로 독립적이기 때문에 서로 다른 값을 유지한다. 경우에 따라서는 각 인스턴스들이 공통적으로 같은 값이 유지되어야 하는 경우 static을 붙인다. 대표적으로 [[싱글톤패턴]]이 있다.
  

2020년 8월 20일 (목) 09:43 판

소유제어자(static)란 메모리에 오직 1개만 생성되고 해당 클래스의 모든 객체에서 공유되어지게 하는 제어자를 말한다. [1]소유제어자가 붙으면 클래스의 소유, 붙지 않는다면 객체의 소유가 된다.[2]

특징[2]

  1. 클래스(Class)와 생성자(Constructor) 앞에는 붙지 못하고 멤버변수(Member Variable)와 메소드(Method)앞에만 붙을 수 있다.
  2. static 메소드 내에서는 객체 생성 없이 static 자원을 호출 가능하다. 해당 자원에 클래스 이름이 생략이 된다.
  3. 지역 변수(Local Variable)에는 static이 붙을 수 없다.
  4. 다른 클래스에서 static 자원을 호출할 때에는 클래스 이름을 생략할 수 없다.
  5. static 자원은 메모리에 오직 1개 생성이 된다. 해당 클래스의 모든 객체에서 공유 되어진다.
  6. static 메소드에서는 this와 super을 사용할 수 없다.

목적 [3]

  1. 클래스를 설계할 때, 멤버 변수 중 모든 인스턴스에 공통적으로 사용해야하는 것에 static을 붙인다.
인스턴스를 생성하면, 각 인스턴스들은 서로 독립적이기 때문에 서로 다른 값을 유지한다. 경우에 따라서는 각 인스턴스들이 공통적으로 같은 값이 유지되어야 하는 경우 static을 붙인다. 대표적으로 싱글톤패턴이 있다.

각주

  1. 영찰리, <자바(JAVA) 제한자>, <<개인 블로그>>, 2016-07-18
  2. 2.0 2.1 시빅, <자바 ② 소유 제한자 ( static )>, <<개인 블로그>>, 2018-02-14
  3. varet, <Static 키워드 바로 알고 사용하자>, <<개인 블로그>>, 2014-03-25

참고자료


  의견.png 이 소유제어자 문서는 프로그래밍에 관한 토막글입니다. 위키 문서는 누구든지 자유롭게 편집할 수 있습니다. [편집]을 눌러 이 문서의 내용을 채워주세요.