지역변수가 아닌 인스턴스 변수와 메서드 클래스에 사용
public(모든 클래스에 접근가능) ,protected(같은 패키지 내의 클래스와 다른
패키지의 상속관계에 있는 클래스에서 접근가능 ,default(같은 패키지 내의 클래스에서
접근 가능 ), private(같은 클래스 내에서만 접근가능)
cf) default 는 접근제어자 생략가능 ,private 는 자기자신만 사용가능
import :다른 폴더 (패키지)의 클래스를 불러온다.
단축기: alt+엔터로 자동 임포트 가능
cf) 카멜표기법 : 단어 여러개 조합해서 명명할때 의미가 바뀌는 부분에서 대문자를 넣어주는 방식
cf) alt + insert : getter ,setter
배열의 단점
배열의 단점
int[] arr = new int[1000];
arr[0] = 10; // 0번째 인덱스 사용
arr[10] = 100; //10번째 인덱스 사용
배열의 크기를 변경할수 없다 .
배열은 크기가 고정이라서 유연하지가 못한다 .
동적 배열 > 길이를 정하지 않고 유동적으로 변하게함 .
동적배열은 객체만 저장가능.
원시 타입 > int , double boolean 등등
원시타입을 제외한 자바의 모든것은 객체다.
원시타입의 객체타입 존재.
int >Integer , double > Double boolean> Boolean
ArrayList<Integer> list = new ArrayList<>();
list.add(10);
list.add(20);
list.add(30);
값 가져오기
int rst = list.get(1); // 1번째 인덱스 값을 가져옴
System.out.println(rst); // 20
값 삭제하기
list.remove(1); // 1번째 인덱스 값을 삭제 . 이 지워진 인덱스 이후 값들로 땡겨진다.
System.out.println(list.get(1)); // 30
System.out.println(list.get(2));// remove 후 2번째 인덱스 없어짐 > 에러
ArrayList의 크기확인
System.out.println(list.size()); //2
ArrayList 의 모든값을 출력
마지막 인덱스는 항상 개수 -1
for(int i = 0; i < list.size(); i++){
System.out.println(list.get(i));
}
}
}