본문 바로가기

반응형

Java/자바 기반 웹 개발자 과정 필기

(72)
[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의 타입이 다른 객체..
[200312.14일차] 복습 부모클래스 자식클래스 main 클래스 출력 * 객체의 형변환 => 부모가 자식 클래스에 잠시 접근할 수 있다. 타입을 잘보고 형변환을 하지 않으면 런타임오류가 발생한다. 추상메소드, 추상클래스 * 다형성을 구현하다 보면, 부모클래스일 수록 개념적이고 추상적으로 메소를 구현하게 된다. 특정 기능이 어떻게 구현될지 애매하다. bark를 보면 동물이 짖긴 짖는데 누가 어떻게 짖는지를 모른다. => 부모클래스에서 만들어둔 코드는 사용하지 않고, 자식에서 재정의해서 사용한다. 사실상 부모클래스에서는 코드를 낭비하고 있다. 문제점 => 특정방법을 사용하지 않으면 객체화가 불가능하다. => 무명 클래스를 사용한다. 무명 클래스 (anonymous class) : 클래스 몸체는 정의되지만 이름이 없는 클래스 =>..

반응형