다양한 데이터 소스를 표준화된 방법으로 다루기 위한 것 List list = Arrays.asList(1,2,3,4,5); Stream intStream = list.stream(); //컬렉션 Stream strStream = Stream.of(new String[] {"a","b","c"}); // 배열 Stream evenStream = Stream.iterate(0 , n-> n+2); // 0 2 4 6 8 Stream randomStream = Stream.generate(Math::random); IntStream intStream = new Random().ints(5); // 난수 스트림 크기가 5 스트림 제공 기능 - 중간 연산 , 최종 연산 stream.distinct().limit(..
int num =Integer.valueOf(str); String str = Integer.toString(num); String str2 = Double.toString(num); String str = String.valueOf(num); int num = Integer.parseInt(str); nextLine() hello\n nextInt() hello next() hello 컴파일 에러(오류) : 문법에 맞지 않아 컴파일할 때 발견 런타임 에러 : 실행시 발견하는 에러 자바에서는 실행시 발견하는 오류(Exception 과 error) 를 클래스로 정의 Object Throwable 미약 오류 Exception(RuntimeException IOException) 심각 오류 Error(OutO..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/NM6KT/btsnqeQm71P/2PpKMC856m95p65hvQqNbk/img.png)
입출력 스트림: 버퍼를 가지고 순차적으로 이루어지는 입출력 응용프로그램과 입출력 장치를 연결하는 소프트웨어 모듈 입력스트림: 입력장치로부터 자바프로그램으로 데이터 전달 출력스트림: 출력장치로 데이터 출력 입출력 스트림의 종류: 바이트 스트림 : 입출력되는 데이터를 단순 바이트로 처리, 바이트 단위의 바이너리 값을 읽고 쓰는 스트림 이미지 ,동영상 같은 바이너리 파일(=데이터의 저장과 처리를 목적으로 0과 1의 이진 형식으로 인코딩된 파일) InputStream : 추상클래스 OutputStream : 추상클래스 FileInputStream : 파일로부터 바이트 단위로 읽는 클래스 FileOutputStream : 파일로부터 바이트 단위로 저장하는 클래스 ByteArrayInputStream ByteArr..
for문 연습하기 1. ArrayList fruits = new ArrayList(); fruits.add("Apple"); fruits.add("Banana"); fruits.add("Orange"); for (String fruit : fruits) { System.out.println(fruit); // Apple // Banana // Orange } 2. int[] numbers = {1, 2, 3, 4, 5}; for (int number : numbers) { System.out.println(number); } 3. String message = "Hello, world!"; for (char ch : message.toCharArray()) { System.out.println(ch); ..
오버로딩 : 매개변수의 개수나 타입이나 타입의 순서가 서로 달라야 한다 리턴 타입은 오버로딩과 관련없다. 객체소멸 : new 에 의해 생성된 객체 메모리를 자바가상기계의 가용메모리로 되돌림 가비지: 가리키는 레퍼런스가 하나도 없는 객체 자바가상기계의 가비지 컬렉터가 자동으로 가비지 수집 반환. 가비지 컬렉션 : 자동으로 가비지를 자동 회수하는 과정, 가용 메모리로 반환, 가비지 컬렉션 스레드에 의해 수행 개발자의 강제 가비지 컬렉션 : System.gc(); // 가비지 컬렉션 작동 요청 , 자바가상기계가 가비지 컬렉션 시점을 전적으로 판단 패키지 : 관련있는 클래스 파일을 저장하는 디렉터 접근 지정자 목적: 클래스나 일부 멤버를 공개해 다른 클래스에서 접근하도록 허용하거나 캡슐화 정책(멤버를 보호하기 ..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/cvAWax/btsnbJoWfo4/mdWtzlW85argjSqTZfZqk1/img.png)
배열 장점: 구조 간단, 데이터 읽는데 시간이 짧다 단점 : 크기변경 불가함 , 비순차적인 데이터의 추가 삭제에 시간이 오래 걸림 단) 순차적 추가, 삭제는 빠름 LinkedList: 배열의 단점 보완 불연속적으로 존재하는 데이터를 연결 link class Node { Node next; //다음 노드 Object obj; //데이터 } 데이터 추가 : 한번의 객체생성과 두번의 참조변경만으로 가능 단점: 데이터 접근성이 나쁨 (불연속적, 자기 다음밖에 몰라,) 더블리 링크드 리스트 : 이중 연결리스트 , 접근성 향상 컬렉션에 저장된 요소들을 읽어오는 방법을 표준화한 것 Iterator boolean hasNext() //확인 Object next() //읽기 컬렉션에 iterator()를 호출해서 Ite..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/bV0N1f/btsmrCwH5l4/DwAdr9Js27mJgCxsBzkcKk/img.png)
public boolean equals(Object obj) 서로다른 두 객체는 항상 주소가 다르다. 인스턴스 변수(iv)의 값을 비교하도록 equals()를 오버라이딩해야함 public int hashCode() 1) 객체의 해시코드를 반환하는 메서드 2) Object 클래스의 hashCode()는 객체의 주소를 int로 변환해서 반환해야함 3) equals()를 오버라이딩하면 hasCode()도 오버라이딩해야한다 4) equals()의 결과가 true인 두 객체의 해시코드는 같아야 하기때문 System.identity.HashCode(Object obj) 는 객체마다 다른 해시코드반환, Object클래스의 hashCode()와 동 public String toString() 객체(=iv 집합)를 문자..
동적바인딩 예시 Animal dog = new Dog(); Animal cat = new Cat(); dog.makeSound(); // "강아지가 멍멍 짖습니다." cat.makeSound(); // "고양이가 야옹 소리를 낸다." class Animal { public void makeSound() { System.out.println("동물이 소리를 낸다."); } } class Dog extends Animal { public void makeSound() { System.out.println("강아지가 멍멍 짖습니다."); } } class Cat extends Animal { public void makeSound() { System.out.println("고양이가 야옹 소리를 낸다."); ..