반응형
정적 필드와 메소드를 위한 키워드 static
키워드 static
- 필드나 메소드의 소속을 클래스로 제한하는 키워드
- static을 이용한 정적 변수나 정적 메소드는 클래스 변수와 클래스 메소드
정적필드 PI
- 클래스에 소속된 저장공간이 하나만 존재하는 변수
- 할당되는 객체마다 저장공간이 할당되는 객체 소속 변수
비정적 필드 radius
- 할당되는 객체마다 저장공간이 할당되는 객체 소속 변수
정적 필드 참조 방법
- 정적 필드는 Circle.PI와 같이 '클래스이름.정적필드'로 참조하는 방법이 원친
- 'c1.PI'나 'c2.PI'와 같이 객체 이름으로도 참조 가능
변수를 상수로 만드는 final
지역 변수의 상수
- 키워드 final을 명시
- 저장된 값을 더 이상 수정할 필요가 없을 떄 사용
소속 변수인 필드를 상두로 선언하기 위해
- 키워드 final을 명시
- staic도 함께 사용하여 정적으로 사용하는 것을 권유
클래스 변수의 초기화와 초기화 블럭
멤버변수의 초기화 방법
- 명시적 초기화
- 초기화 블럭 : 클래스 초기화 블럭, 인스턴스 초기화 블럭
- 생성자
배열
- 같은 타입(형)의 여러 변수를 하나의 묶음(Set)을 선언해서 처리하는 것
배열의 선언과 생성
- 타입[] 변수이름;
- 타입 변수이름[];
배열의 길이와 인덱스
- 배열의 길이는 int범위의 0 ~ 양의 정수
- 인텍스 범위는 '0'부터 '배열의길이 - 1'까지
배열의 길이 변경
- 더 큰 배열을 새로 생성
- 기존 배열의 내용을 새로운 배열에 복사
배열의 초기화
배열의 복사
import java.util.Arrays;
public class ArrayCopyTest {
public static void main(String[] args) {
//얕은 복사
int[] a1 = { 1, 2, 3, 4 };
int[] a2 = a1;
//깊은 복사
int[] b1 = { 1, 2, 3, 4 };
int[] b2 = new int[b1.length];
for (int i = 0; i < b1.length; i++) {
b2[i] = b1[i];
}
//배열 복사1 - Object.clone() - 가장 보편적인 방법
int[] c1 = { 1, 2, 3, 4 };
int[] c2 = c1.clone();
//배열 복사2 - Arrays.copyOf()
int[] d1 = { 1, 2, 3, 4 };
int[] d2 = Arrays.copyOf(d1, d2.length);
//배열 복사3 - System.arraycopy()
int[] e1 = { 1, 2, 3, 4 };
int[] e2 = new int[e1.length];
System.arraycopy(e1, 0, e2, 0, e1.length);
}
}
String 배열
public class MorseCode {
public static void main(String[] args) {
String str = "SOS";
for (int i = 0; i < str.length(); i++) {
System.out.println( (int) str.charAt(i) );
}
}
}
2차원 배열, 3차원 배열, 다차원 배열
//1차원 배열
int[] arr1 = {
1,
2,
3
};
//2차원 배열
int[][] arr2 = {
{ 1, 2, 3 },
{ 4, 5, 6 },
{ 7, 8, 9 }
};
//3차원 배열
int[][][] arr3 = {
{
{ 1, 2, 3 },
{ 4, 5, 6 },
{ 7, 8, 9 }
},
{
{ 1, 2, 3 },
{ 4, 5, 6 },
{ 7, 8, 9 }
},
{
{ 1, 2, 3 },
{ 4, 5, 6 },
{ 7, 8, 9 }
}
};
반응형
'cs > java-spring-boot' 카테고리의 다른 글
[Zero-base] 3주차 과제 (CoordinateCompare.java) (0) | 2022.01.25 |
---|---|
[Zero-base] 3-1. 상속 (0) | 2022.01.23 |
[Zero-base] 2주차 과제 (JavaSystemProperty.java) (0) | 2022.01.21 |
[Zero-base] 2-4. 생성자 (0) | 2022.01.18 |
[Zero-base] 2-3. 클래스와 객체의 생성 (0) | 2022.01.18 |