반응형
this,static,final 지정예약어 - static
By Commin .November 29, 2016
ReservedWord_static.java
static이란?
static 이란 객제지향언어인 JAVA를 이해하는데 중요한 개념중에 하나입니다. 저는 이놈을 공중전화라고 칭하고싶네요. 누구나 동전(데이터)를 넣고 번호를눌러서 원하는 대상에게 통화를 할 수 있지만 누구의 소유도 아니죠. 그리고 시에서는 공중전화 박스의 설치를 도시계획을 세울때부터 위치 크기 등을 정하여 놓습니다. static으로 선언된 변수나 클래스,메서드도 마찬가지입니다.
자바는 프로그램이 시작됨과 동시에 static으로 선언된 것들을 모두 메모리에 할당시켜놓습니다. 그리고 사용자는 별도의 객체를 생성하지않아도 클래스명을 가지고 접근하여 사용할수 있습니다.
그러니까 static은 프로그램 전체의 전역변수라고 봐도 무방합니다.
어떨 때 사용하면 좋을까요?
- 공동사용의 목적
A라는 클래스에서 만들었지만, B,C,D 등 다른 모든 클래스에서 A클래스안에 있는 어떠한 데이터나 메서드등을 사용하고자 할 때, 임의의 메모리로 그것만 따로 빼놓고 누구든 접근하여 사용 할 수 있도록 하면 효율적인 코딩이 가능 하겠죠?
- 공통된 값 유지
어떠한 CODE값은 변하지않고 다양한 클래스에서 여러번 사용됩니다. 그때마다 CODE값을 입력하면 잘못된 값을 입력 할 수도있고 비효율적인 코딩이 아닐 수 없습니다. 때문에 static으로 따로 빼놓고 그값 final로 고정시켜놓고 사용 한다면 잘못된 값이 입력될 일이 없고 효율적인 코딩이 될 수 있습니다. 참고로 final로 선언된 값은 java Garbage Collection
이라는 놈한테 안없어지고 잘 살아남게됩니다.(가비지컬렉션은 필요없는 값을 일정주기로 지워주는 아이입니다.)
어떨 때 사용하지 말아야 할까요?
- 자주 변경되는 변수나 메서드
여러곳에서 자주 데이터값을 바꾸면 프로그램이 꼬일 수 있습니다. 서로 참조하는 값이 달라져버리니까요. 그럴때는 사용을 자제해줘야합니다. 언제 어디서 접근해서 데이터를 가져오든 일정한 값을 가지도록 해야 데이터관리 측면이나 디버깅 측면에서 올바른 코딩이라고 말 할 수 있습니다.
- Commin's JAVA BASIC Category
- 자바 이클립스 설치 및 환경변수 설정
- 자바 문법의 개념 및 용어
- 자바 기본 입출력
- 자바 제어문
- 자바 메서드 및 배열
- 자바 클래스
- [초급 JAVA]자바 class의 기본개념/객체(Object) 와 클래스 - 1
- [초급 JAVA]자바 class의 기본개념/객체(Object) 와 클래스 - 2
- [초급 JAVA]자바 생성자로 초기화 하고 코딩하기/JAVA Constructor
- [초급 JAVA]자바 this,static,final 지정예약어 - final
- [초급 JAVA]자바 this,static,final 지정예약어 - this & this()
- [초급 JAVA]자바 this,static,final 지정예약어 - static
- [초급 JAVA]자바 상속(extends) 예제로 이해하기/ super & super() 이해하기
- [초급 JAVA]자바 interface 와 abstract 예제로 이해하기
반응형
'LECTURE > # java basic' 카테고리의 다른 글
[초급 JAVA]자바 interface 와 abstract 예제로 이해하기 (1) | 2016.12.19 |
---|---|
[초급 JAVA]자바 상속(extends) 예제로 이해하기/ super & super() 이해하기 (9) | 2016.12.12 |
[초급 JAVA]자바 this,static,final 지정예약어 - this & this() (0) | 2016.11.29 |
[초급 JAVA]자바 this,static,final 지정예약어 - final (0) | 2016.11.29 |
[초급 JAVA]예제-생성자 - 로또 프로그램 만들기(lotto program) (5) | 2016.11.21 |