JAVA/★객체지향36 Collections framework : ArrayList의 사용법 1)배열의 문제점 *배열크기에 제한이 있다 기존의 배열예제를 보자 기존배열 ①String [] arrayObj = new String[]; ② length ③arrayObj[i] =========== Arraylist ①import ②ArrayList ③add ④size⑤ get(i) *add(1, "20") --> 1번인덱스에 20추가하는 것 *set(int index, Object) -->값변경 *al.remove() -->삭제 *al.clear() ->전체삭제 그러나 ArrayList의 주의해야할 점!! 이 방식은 옛날방식이다 (안정성이 떨어진다) *제네릭 문법수단을 채택한 것을 보자 으로 지정을 해줬음! 그래서 al.get(i)도 String이라 형변안해줘도 된다 2023. 3. 15. collections framework 전체적인 구성 컬렉션즈 프래임워크라는 것은 다른 말로는 컨테이너라고도 부르는데 값을 담는 그릇이라는 의미이다. 그런데 그 값의 성격에 따라서 컨테이너의 성격이 조금씩 달라진다. 2023. 3. 15. 제네릭의 특징 1) 기본데이터타입은 못오고 참조데이터타입만 올 수 있다 기본데이터 타입을 객체인것처럼 만들수있는 객체들을 제공 -> 레퍼클래스 wrapper(객체로 포장) ex) int - > Integer 그럼 래퍼클래스를 쓰자! 2)제네릭의 생략 클래스부분 생략하는 예시 메소드부분 생략하는 예시 p1.printInfo(e); 로 적어도 된다 (생략해서) 3) 제네릭의 제한 **클래스에서 사용 **인터페이스에서 사용 * implements가 와야 하는게 아니야? nono 제네릭 맥락에선 extends는 상속이 아닌 부모가 누구인지 알려주는 것 super라는 것도 있는데 활용도 높지않고 extends와 정 반대개념(부모를 제한) 이건오류가 안뜬다 T에 오는 값이 info클래스/자식으로 지정해줘서 아래꺼는 오류가 뜬다 .. 2023. 3. 15. 제네릭 1) 제네릭: 클래스 내부에서 사용할 데이터 타입을 외부에서 지정하는 것 2) 이걸 왜 사용해?.. 아래예시를 보자 기존코드 중복을 없애고 10년뒤에 코드를 다시 사용한다고 했을 때 person에 어떤값을 넣어야하는지 까먹어서 부장을 넣었음 그 결과.. 즉 변수데이터 타입이 object라 모든 타입이 들어와서 타입이 안전하지 않고 문법적으로는 맞아서 오류를 발생시키지 않는데 실제로는 Employee ei = (EmployeeInfo)p1.info가 Employee ei = (EmployeeInfo)new EmployeeInfo(10); 이런 형식으로 되어야 하는데 저기는 "부장"이 들어왔기 때문에 오류가 뜬다 string이 employee로 형변환을 못하기 때문이다 구조를 잘 맞추자 ↓ ↓.. 2023. 3. 15. 이전 1 2 3 4 5 ··· 9 다음