반응형 전체 글145 [패스트캠퍼스 수강 후기] 자바 인강 100% 환급 챌린지 20회차 미션 오늘은 자바 입출력 스트림과 표준 입출력에 대해서 공부해보았다. 입출력 스트림이란 네트워크에서 자료의 흐름이 물과 같다는 의미에서 유래되었다. 다양한 입출력 장치에 독립적으로 일관성 있는 입출력 방식을 제공해준다. 입출력이 구현 되는 곳에서는 모두 I/O 스트림을 사용한다. 예를들면 키보드, 파일 디스크, 메모리 등이다. 입출력 스트림의 구분으로는 I/O 대상 기준 : 입력 스트림, 출력 스트림 자료의 종류: 바이트 스트림, 문자 스트림 스트림의 기능: 기반 스트림, 보조 스트림 이 있다. 입력 스트림은 대상으로부터 자료를 읽어들이는 스트림을 말하며, 출력 스트림은 대상으로 자료를 출력하는 스트림을 말한다. 바이트 단위 스트림은 바이트 단위로 자료를 읽고 쓴다. (동영상, 음악파일 등) 문자 단위 스트림.. 2020. 8. 29. [패스트캠퍼스 수강 후기] 자바 인강 100% 환급 챌린지 19회차 미션 오늘은 인터페이스에 대해서 공부해보았다. 인터페이스의 요소에는 추상메서드, 상수, 디폴트메서드, 정적메서드, private메서드 가 있다. 인터페이스의 선언과 구현 방법은 아래와 같다. 인터페이스를 구현한 클래스는 인터페이스 타입으로 변수를 선언하여 인스턴스를 생성할 수 있다. 인터페이스는 구현 코드가 없기 때문에 타입 상속이라고도 한다. 인터페이스의 역할에 대해 알아보았다. 인터페이스는 클라이언트 프로그램에 어떤 메서드를 제공하는지 알려주는 명세(specification)또는 약속이라고 할 수 있다. 한 객체가 어떤 인터페이스의 타입이라 함은 그 인터페이스의 메서드를 구현했다는 의미이다. 클라이언트 프로그램은 실제 구현내용을 몰라도 인터페이스의 정의만 알면 그 객체를 사용할 수 있다. 인터페이스를 구현.. 2020. 8. 28. [패스트캠퍼스 수강 후기] 자바 인강 100% 환급 챌린지 18회차 미션 오늘은 람다식에 대해 공부해보았다. 함수형 프로그래밍은 순수 함수(pure function)를 구현하고 호출하며 매개변수만을 사용하도록 만든 함수로 외부자료에 부수적인 영향이 발생하지 않도록 한다. 입력받은 자료를 기반으로 수행되고 외부에 영향을 미치지 않으므로 병렬처리 등에 가능한 안정적인 확장성 있는 프로그래밍 방식이다. 람다식 문법은 매개변수 하나인 경우 괄호를 생략 가능하다. (두개 인 경우는 괄호를 생략할 수 없다.) str->{System.out.println(str);} 중괄호 안의 구현부가 한 문장인 경우 중괄호 생략이 가능하다. str->System.out.println(str); 중괄호 안의 구현부가 한 문장이라도 return문은 중괄호를 생략할 수 없다. str->return str... 2020. 8. 27. [패스트캠퍼스 수강 후기] 자바 인강 100% 환급 챌린지 17회차 미션 오늘은 TreeMap클래스와 내부클래스에 대해 공부해보았다. TreeMap 클래스는 key 객체를 정렬하여 key-value를 pair로 관리하는 클래스이다. key에 사용되는 클래스에 Comparable, Comparator 인터페이스를 구현한다. java에 많은 클래스들은 이미 Comparable이 구현되어있다. 구현된 클래스를 key로 사용하는 경우는 구현할 필요 없다. 아래는 HashMap을 만드는 과정. 아래는 TreeMap으로 변환한 것. 정렬이 잘 되는 것을 볼 수 있다. Map 인터페이스는 쌍으로 이루어진 객체를 관리하는데 필요한 여러 메서드가 선언되어 있으며 Map을 사용하는 객체는 key-value 쌍으로 되어있고 key 는 중복될 수 없다. 내부 클래스란 클래스 내부에 구현된 클래스(.. 2020. 8. 26. [패스트캠퍼스 수강 후기] 자바 인강 100% 환급 챌린지 16회차 미션 오늘은 Set 인터페이스에 대해 공부해보았다. Set 인터페이스는 Collection 하위의 인터페이스로 중복을 허용하지 않는다. List는 순서기반의 인터페이스지만, Set은 순서가 없다. get(i) 메서드가 제공되지 않기 때문에 Iterator로 순회한다. 저장된 순서와 출력순서는 다를 수 있다. 아이디, 주민번호, 사번 등 유일한 값이나 객체를 관리할 때 사용한다. HashSet, TreeSet 클래스를 예로 들 수 있다. 아래는 HashSet을 순차적으로 추출하기 위해 iterator 를 사용한 코드이다. 아래는 HashSet을 만들고 멤버를 추가하는 addMemeber 메서드와 removeMemeber를 만든 코드이다. 아래는 manager 라는 이름의 MemberHashSet 객체에 멤버들을.. 2020. 8. 25. [패스트캠퍼스 수강 후기] 자바 인강 100% 환급 챌린지 15회차 미션 오늘은 List 인터페이스 및 Stack과 Queue에 대해서 공부해보았다. ArrayList와 Vector는 객체 배열 클래스이다. Vector는 자바 2부터 제공된 클래스라고 하는데, 학원에서도 배우지 않아서 생소하다. 일반적으로는 ArrayList를 더 많이 사용한다고 한다. Vector는 멀티 쓰레드 프로그램에서 동기화를 지원한다. 동기화(Synchronization)란 두개의 쓰레드가 동시에 하나의 리소스에 접근할 때 순서를 맞추어서 데이터의 오류가 방지하지 않도록 하는 것이다. capacity와 size는 다른의미이다. Stack은 List In First Out(LIFO)의 형태를 가지고 있다. 즉, 맨 마지막에 추가 된 요소가 가장 먼저 꺼내지는 자료구조이다. 이미 구현된 클래스가 제공된다.. 2020. 8. 24. [패스트캠퍼스 수강 후기] 자바 인강 100% 환급 챌린지 14회차 미션 오늘은 제네릭 프로그래밍과 컬렉션 프레임워크의 개요에 대해 공부해보았다. 제네릭 프로그래밍이란 변수의 선언이나 메서드의 매개변수를 하나의 참조 자료형이 아닌 여러 자료형을 변환될 수 있도록 프로그래밍 하는 방식이다. 실제 사용되는 참조자료형으로의 변환은 컴파일러가 검증하므로 안정적인 프로그래밍 방식이다. 제네릭 메서드 내에서의 자료형 매개변수는 메서드 내에서만 유효하다. 즉 지역변수와 같은 개념이라고 할 수있다. 컬렉션 인테페이스는 하나의 객체의 관리를 위해 선언된 인터페이스로 필요한 기본메서드가 선언되어 있다. 하위에 List, Set 인터페이스가 있다. 제네릭 프로그래밍 제네릭 프로그래밍(영어: generic programming)은 데이터 형식에 의존하지 않고, 하나의 값이 여러 다른 데이터 타입들.. 2020. 8. 23. [패스트캠퍼스 수강 후기] 자바 인강 100% 환급 챌린지 13회차 미션 오늘은 객체배열에 대해서 공부해보았다. 기본자료형 배열과 참조자료형 배열의 형태는 아래와 같다. 예시로 Book이라는 객체가 들어갈 객체배열을 만들어 보았다. 객체배열을 복사할 때 아래와 같이 얕은복사와 깊은 복사가 있다. 객체를 배열로 다루기 부모타입의 참조변수로 자녀타입의 객체를 참조하는 것이 가능하다는 것을 지난 시간에 배워 알고 있을것이다. Car(부모클래스) / Supercar(자녀클래스) 라면, Car c = new Supercar(); 또는 Car c = null; Supercar sc = new SuperCar(); c = sc; 방법이 있었다. 이번 시간엔 이러한 점을 이용해서 부모타입의 참조변수로 자녀타입 객체를 배열로 다루는 방법을 알아보겠다. 부모 클래스로 Juice가 있.. 2020. 8. 22. [패스트캠퍼스 수강 후기] 자바 인강 100% 환급 챌린지 12회차 미션 오늘은 Static 변수와 Singleton에 대해 알아보았다. Static변수는 처음 프로그램이 로드 될 때 데이터 영역에 생성된다. 인스턴스의 생성과 상관없이 사용할 수 있기때문에 클래스 이름으로 참조한다. 클래스변수, 정적변수라고도 한다. 프로그램에서 변수의 유형은 아래와 같이 세가지 종류가 있다. 지역변수(로컬변수)는 함수 내부에 선언되며, 멤버변수(인스턴스 변수)는 클래스 멤버 변수로 선언한다, Static 변수(클래스 변수)는 static 예약어를 사용하여 클래스 내부에 선언한다. 싱글턴 패턴에 대해서도 알아보았다. 생성자는 private으로 하며 static으로 유일한 객체를 생성한다. 외부에서 유일한 객체를 참조할 수 있는 public static get()메서드를 구현한다. ☞ 싱글톤 클.. 2020. 8. 21. [패스트캠퍼스 수강 후기] 자바 인강 100% 환급 챌린지 11회차 미션 오늘은 Class 클래스와 String 클래스, Wrapper에 대해 공부해보았다. Class 라는 이름의 클래스가 있다고 한다. 자바의 모든 클래스와 인터페이스는 컴파일 후 class파일로 생성된다. class클래스는 컴파일된 class파일에서 객체의 정보를 가져올 수 있다. Class 클래스는 컴파일된 class파일에서 객체의 정보를 가져올 수 있다. Class 클래스를 가져오는 방벙은 아래와 같다. forName() 메서드와 동적 로딩에 대해서도 알아보았다. forName()은 Class클래스의 static 메서드이다. 동적 로딩이란 컴파일시에 데이터 타입이 모두 binding 되어 자료형이 로딩(static loading)되는 것이 아니라 실행중에 데이터 타입을 알고 binding 되는 방식이다... 2020. 8. 20. 이전 1 ··· 9 10 11 12 13 14 15 다음 반응형