Java (81) 썸네일형 리스트형 [200318.18일차] 입출력 ㅇㅅㅇ 입력 / 출력 -> 우리가 만드는 프로그램이 할당 받을 메모리 외부와 데이터를 주고받음 파일 입출력 => byte단위 스트림 (stream) : 순서가 있는 데이터의 연속적인 흐름 => 스트림은 입출력을 물의 흐름처럼 간주하는 것 입출력 되는 데이터들은 모두 스트림을 통과한다. => 스트림은 연결될 수 있다. 스트림의 분류 inputStream과 OutputDStream은 1byte씩 보내고, 숫자 표현은 0~255까지 할 수 있다. 버퍼의 역할 그냥 inputStream과 OutputDStream은 1byte씩 보낸다. => 바가지로 한번에 옮기면 한번에 더 많은 양을 보낼수 있다. => Buffered가 바가지의 역할을 할 수 있다. 이렇게 되면 처리가 안되고 남아있는 데이터가 생긴다. => .. [200317.17일차] 예외처리 예외처리 예외는 오류가 발생하더라도 오류를 우아하게 처리하게 합니다. => 기존에는 오류 발생 시, 프로그램이 멈춘다. => 예외 처리를 한다. 예외 (exception) : 잘못된 코드, 부정확한 데이터, 예외적인 상황에 의하여 발생하는 오류 => 런타임 에러 => 프로그램 실행 중 어떤 이유들로 프로그램이 강제 종료됨 예외처리 -> 프로그램이 종료되는 상황(런타임에러)이 왔을때 어떻게 대응할지에 대한 명세를 작성해주는것 ==> 그러면 예외가 발생해도 프로그램이 종료되지 않고 계속 동작 자바는 오류가 나면 그 줄에서 바로 실행이 멈춘다. try{ 예외가 발생할 수 있는 코드들 } catch(발생한 예외){ 예외가 발생하면 실행하는 코드들 } 7번 라인에서 예외가 발생 => 8번 라인 catch문을 실행.. [200316.16일차] 제네릭 클래스, 제네릭 메소드 generic programming 일반적인 코드를 작성하고 이 코드를 다양한 타입의 객체에 대하여 재사용하는 프로그래밍 기법 제네릭은 컬렉션 라이브러리에 많이 사용 기존의 방법 일반적인 객체를 처리하려면 object 참조 변수를 사용 object 참조 변수는 어떤 객체이던지 참조 할 수 있다 EX) Car.java Car c1=new Car(); Object c2=new Object(); 예제로 하나의 데이터를 저장하는 Store 클래스를 살펴보자. 앞으로 일을 하면서 가장 많이 보게 될 기능 리스트 : 순서가 있는 데이터들의 집합(인덱스) 스택 : 순서있는 데이터들의 집합을 LL, FO 방식으로 관리하는 자료구조 큐 : 순서있는 데이터들의 집합을 FI,FO방식으로 관리하.. [200313.15일차] >> 템플릿 패턴의 문제점 => 예시는 짧지만 실제로는 꽤긴 몇만줄 짜리 코드이다. => 한번 구현해놨던 펀치공격과 걸어서 이동을 사용을 못하고 있다. => 각 세부 기능들을 재사용을 못하고 있다. => 기능을 재사용하려면, 일단 기능을 분리해내야됨 ==> 기능을 구현하는 독립적인 클래스로 구현 => FlyingMove, WalkingMove, MissileAttack, PunchAttack 세부 기능들을 클래스로 구현 구현한 클래스들을 멤버변수 객체를 만들어서 사용한다. MissileAttack, PunchAttack 클래스들 attack()메소드 갖고 있는데, 둘이 비슷해보이지만, 서로 다른타입이라 부모클래스로 뽑아내기가 안됨. => MissileAttack, PunchAttack의 타입이 다른 객체.. 이전 1 ··· 14 15 16 17 18 19 20 21 다음