ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • static
    java 2020. 5. 5. 22:21

    static

    -변수나 메서드에 static을 붙여 주게 되면 객체의 생성없이 사용할 수 있다.

    -같은 클래스로 부터 생성된 모든 객체들은 static 변수를 개별적으로 가질 수 없으며 하나의 변수를 공용으로 사용한다.

    -객체를 생성하지 않고 사용할 수 있으며 변수나 메서드를 사용할 때는 클래스 이름.멤버의 형태로 접근해서 사용한다.

    -단, Static 메서드에서 사용할 수 있는 멤버 변수는 static 변수 뿐이며 static 변수가 아닌 일반 변수들은 객체를 생성해야지만 사용이 가능하기 때문이다.

     

    *스태틱 변수나 메서드를 남발하게 되면 문제점이 있다.

    -각 객체들간의 독립적으로 보장할 수 있는, 즉 변수의 공간을 전부 다 공용으로 쓸 수 있기 때문에

    해당 객체만 가지고 있는 고유한 값을 가지고 있을 수 없다.

    -또, 외부에서 쉽게 접근해 사용할 수 있기 때문에 멤버의 보호적인 차원에서도 문제가 생길 수 있다.

     

    스태틱은 꼭 사용해야하는 부분에만 사용하는 것이 좋다.

    한번 얻어온 값이나 한번 생성한 객체를 같은 클래스에서 생성한 객체라면 여기저기서 사용하거나

    혹은 객체생성없이 빠르고 쉽게 사용할 수 있게하겠다 하는경우에 사용한다.

     

    정리

    static은 멤버 변수나 메서드를 객체를 생성하지 않고도 사용할수 있도록 하는 개념을 의미한다.

    객체를 생성하지 않고 사용하기 때문에 참조변수가 없고,

    클래스이름.변수, 클래스이름.메소드

    이런식으로 접근을 해서 사용하게 된다.

    또한 스태틱메서드는 스태틱 변수 외에는 사용할 수 없다.

    스태틱은 잘 사용하면 편하게 사용할 수 있는 개념이지만

    해당 멤버변수 메서드를 객체생성하지않고 무분별하게 사용할 수 있다는 단점도 가지고 있다.

    그렇기 때문에 반드시 특정 변수에 있는 값을 보호한다던지,

    클래스로부터 생성된 객체마다 따로따로 할당을해서 사용할 때는 스태틱을 사용하면 안된다.

    꼭 필요할때만 사용하도록 하자.

     

    출처 : 인프런 - 안드로이드를 위한 Java - static. 소프트캠퍼스

    'java' 카테고리의 다른 글

    thread  (0) 2020.05.06
    interface  (0) 2020.05.06
    참조변수  (0) 2020.05.05
    자바스크립트로 유효성 검사(빈칸 다 채웠는지)  (0) 2020.04.25
    JQuery - $( document ).ready()를순수 javascript 로 바꾸기  (0) 2020.04.24

    댓글

Designed by Tistory.