일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 자바
- url 변환
- 배열
- array
- 이름 마스킹
- 리액트
- table
- Java
- 오라클
- 스프링
- spring
- SQL
- JSX
- 맛집
- set
- React
- 자바스크립트
- 모바일게임
- 원펀맨: 최강의 남자
- html
- 개발
- jQuery
- 형변환
- JavaScript
- forEach
- Oracle
- 원펀맨
- JS
- url 치환
- JSTL
Archives
- Today
- Total
특별한 일상
[JAVA] static, final, static final(상수) 사용법 및 예시 본문
반응형
안녕하세요. 소다맛사탕 입니다.
한 번 초기값이 저장되면 변경할 수 없는 불변의 상수인 'static final'에 대해서 알아보겠습니다.
그전에 static과 final의 간단한 설명과 사용법을 알아보겠습니다.
1. static
; 클래스에 고정된 멤버로서 객체를 생성하지 않고 사용할 수 있는 필드와 메소드.
인스턴스에 속한 멤버가 아니라 클래스에 속한 멤버. 클래스 멤버.
class StaticExample {
// static 필드 선언
static int circle_dot = 3;
static int square_dot = 4;
// static 메서드 선언
static int multi(int a, int b){
return a * b;
}
}
// static 멤버 사용 클래스
public class UsedStaticExample {
public static void main(String[] args) {
int a = StaticExample.circle_dot;
int b = StaticExample.square_dot;
int result = StaticExample.multi(a, b);
System.out.println("꼭지점 곱셈 = " + result);
}
}
---- 결과 ----
꼭지점 곱셈 = 12
2. final
; 초기값이 저장되면 최종적인 값이 되어서 프로그램 실행 도중에 수정 불가.
// final 필드 선언 초기화
class Info {
final String host = "localhost:8080";
final String url;
public Info(String url) {
this.url = url;
}
}
public class UsedFinalExample {
public static void main(String[] args) {
Info testUrl = new Info("/mainType=A&subType=B");
System.out.println(testUrl.host);
System.out.println(testUrl.url);
String finalUrl = testUrl.host + testUrl.url;
System.out.println(finalUrl);
}
}
---- 결과 ----
localhost:8080
/mainType=A&subType=B
localhost:8080/mainType=A&subType=B
간단하게 예시를 통해 static과 final의 사용법과 예시를 알아보았습니다.
이제 static final 에 대해 알아보겠습니다.
static final (상수)
; 객체마다 저장되지 않고, 클래스에만 포함.
한 번 초기값이 저장되면 변경할 수 없습니다.
public class UsedStaticFinal {
// 상수 선언
static final double INCH = 2.54;
static final double CM = 1;
static final double MONITOR_WIDTH;
// 상수 초기값 선언
static {
MONITOR_WIDTH = 14 * INCH * CM;
}
// 상수 사용
public static void main(String[] args) {
System.out.println("14인치 모니터 cm는? "+ MONITOR_WIDTH);
}
}
---- 결과 ----
14인치 모니터 cm는? 35.56
※ static final이 맞냐, final static 이 맞냐..
결과적으론 전혀 차이가 없습니다.
필드 선언에 있어 고유한 필드 선언 요소인 static과 final은 영향을 받지 않습니다.
일종의 관습같은 느낌?이랄까요..
대체적으로 static final은 불변의 값이기에
프로젝트에서 인증키 및 수학적으로 계산된 불변의 값 등등..
저는 최근에 저장할 파일 위치 경로를 걸었습니다.
참조 : https://velog.io/@taehee-kim-dev/static-final-static-final
'IT•개발 끄적 > Java' 카테고리의 다른 글
[Java] 개행 문자열 치환 방법들 (String replace) (0) | 2022.01.08 |
---|---|
[JAVA] 정규식을 이용한 마스킹(정규표현식 마스킹 처리) (0) | 2021.06.30 |
[JAVA] HTML, MVC, Servlet 환경에서 특수문자 치환( < > & ...) (0) | 2021.06.09 |
[Java] 컬렉션 프레임워크 List: ArrayList, LinkedList 차이 (0) | 2021.05.15 |
[Java] 문자열(String) 대소문자 변환 및 비교(toUpperCase, toLowerCase) (0) | 2021.05.04 |
Comments