변하지 않는 데이터(변수)
보통 클래스 내에서 상수를 선언할 때 보통 public static final형태로 선언한다
public의 특징은?
어느 클래스에서나 접근이 가능하다
static의 특징은?
클래스 로딩 시 함께 로딩되어 인스턴스 생성과 무관함
클래스명만으로 접근하며, 모든 인스턴스가 변수 데이터 공유
final 데이터 변경 불가=상수
자바에서 컨트럴 스페이스를 써서 자동완성을 할 때 내가 생각할 때
이 데이터가 문자열인데 자바에서는 정수라고 한다.
이 때 멘붕이 온다.
파라미터로 뭘 집어 넣어야할지 모를 때, class명.을 찍어보면 static이 붙은 것들
즉, 상수가 제공되어 보일 것이다.
특정 클래스 내에서 사용되는 데이터를 상수로 제공하면
문자열의 오타나, 정수형 사용시 어려움 등을 해결할 수 있다
주로 상수는 public static final 키워드를 사용하여 선언함
<예시>
publicstaticfinalStringCOMPANY_HYUNDAI="HYUNDAI";
publicstaticfinalStringCOMPANY_KIA="KIA";
publicstaticfinalStringCOMPANY_DAEWOO="DAEWOO";
publicstaticfinalStringMODEL_NAME_SONATA="SONATA";
publicstaticfinalStringMODEL_NAME_AVANTE="AVANTE";
publicstaticfinalStringMODEL_NAME_GRANDURE="GRANDURE";
publicstaticfinalStringCOLOR_CREAM_WHITE="1234567";
publicstaticfinalStringCOLOR_PERFECT_BLACK="3333333";
publicstaticfinalStringCOLOR_SKYBLUE="7777777";
publicstaticfinalintGEAR_TYPE_AUTO= 1;
publicstaticfinalintGEAR_TYPE_MANUAL= 2;
class명.을 찍어보면 static이 붙은 것들 즉, 상수가 제공되어 보일 것이다.
상수가 제공되는 클래스사용시 클래스명. 상수명 형태를 사용하여
데이터를 쉽게 사용할 수 있다
문자열 데이터를 int 형 파라미터로 전달해야 하는 경우 혼동이 없다
public static final를 쓰는 이유는
public에 의해 어디서든 접근이 가능하며
static에 의해 클래스명만으로 인스턴스 생성없이 접근 가능하며
final에 의해 데이터가 유지된다
읽느라 수고하셨습니다
부족한 글을 읽어주셔서 감사드립니다
아직 부족한 게 많으니
틀린 곳이 있다면
조언의 말씀 꼭 부탁드립니다!!!!
자바_ "Hello, World!" 10번 반복 하기(반복문/for문) (0) | 2020.07.21 |
---|---|
[java] 자바 면접 예상 질문 리스트 모음(1) (0) | 2020.07.17 |
자바_컬렉션 프레임워크/3대 인터페이스_ List,Set,Map (0) | 2020.07.11 |
자바_java.lang.Object 클래스 (0) | 2020.07.07 |
[JAVA] 자바 개발프로그램 _JDK 설치 /이클립스 잘 설치해보기 (0) | 2020.07.06 |