JAVA/객체지향프로그래밍 5

Collection Framework

1. Collection Framework 자료구조 컴퓨터 과학에서 효율적인 접근 및 수정을 가능케 하는 자료의 조직, 관리, 저장을 의미 데이터 값의 모임, 또 데이터 간의 관계, 그리고 데이터에 적용할 수 있는 함수나 명령을 의미 배열 가장 기본적인 자료구조 homogeneous collection: 동일한 데이터 타입만 관리 가능 타입이 다른 객체를 관리하기 위해서는 매번 다른 배열 필요 Polymorphism Object를 이용하면 모든 객체 참조 가능 → Collection Framework 담을 때는 편리하지만 빼낼 때는 Object로만 가져올 수 있음 런타임에 실제 객체를 타입 확인 후 사용해야 하는 번거로움 Generic을 이용한 타입 한정 컴파일 타임에 저장하려는 타입 제한 → 형변환의 ..

Exception Handling

1. Exception Handling 에러와 예외 어떤 원인에 의해 오동작 하거나 비정상적으로 종료되는 경우 심각도에 따른 분류 Error 메모리 부족, stack overflow와 같이 일단 발생하면 복구할 수 없는 상황 프로그램의 비 정상적 종료를 막을 수 없음 → 디버깅 필요 Exception 읽으려는 파일이 없거나 네트워크 연결이 안되는 등 수습될 수 있는 비교적 상태가 약한 것들 프로그램 코드에 의해 수습될 수 있는 상황 exception handling(예외 처리)란 예외 발생시 프로그램의 비 정삭적 종료를 막고 정상적인 실행 상태를 유지하는 것 예외 클래스의 계층 checked exception 예외에 대한 대처 코드가 없으면 컴파일이 진행되지 않음 unchecked exception (R..

OOP - 3

1. abstract class 정의 자손 클래스에서 반드시 재정의해서 사용되기 때문에 조상의 구현이 무의미한 메서드 메서드의 선언부만 남기고 구현부는 세미콜론으로 대체 구현부가 없다는 의미로 abstract키워드를 메서드 선언부에 추가 객체를 생성할 수 없는 클래스라는 의미로 클래스 선언부에 abstact를 추가한다. abstract 클래스는 상속 전용의 클래스 클래스에 구현부가 없는 메석드가 있으므로 객체를 생성할 수 없다. 하지만 상위클래스 타입으로써 자식을 참조할 수는 있다. 조상 클래스에서 상속 받은 abstract 메서드를 재정의 하지 않은 경우 클래스 내부에 abstract 메서드가 있는 상황이므로 자식 클래스는 abstract 클래스로 선언되어야 함 추상 클래스를 사용하는 이유 abstra..

OOP - 2

1. 상속 객체지향 언어의 특징 OOP is A.P.I.E 특성 내용 Abstraction(추상화) 현실의 객체를 추상화 해서 클래스를 구성한다. Polymorphism(다형성) 하나의 객체를 여러 가지 타입으로 참조할 수 있다. Inheritance(상속) 부모 클래스의 자산을 물려받아 자식을 정의함으로 코드의 재사용이 가능하다 Encapsulation(데이터 은닉과 보호) 데이터를 외부에 직접 노출시키지 않고 메소드를 이용해 보호할 수 있다. 상속(Inhritance: Java Is A PIE) 기존 클래스의 자산(멤버)을 자식 클래스에서 재사용하기 위한 것 부모의 생성자와 초기화 블록은 상속하지 않는다 기존 클래스의 멤버를 물려 받기 때문에 코드의 절감 부모의 코드를 변경하면 모든 자식들에게도 적용..

OOP - 1

1. 객체지향 프로그래밍이란? Object Oriented Programming 객체란? 주체가 아닌 것, 주체가 활용하는것 우리 주변에 있는 모든 것으로 프로그래밍의 대상 객체지향 프로그래밍 주변의 많은 것들을 객체화 해서 프로그래밍 하는 것 객체지향 프로그래밍의 장점 블록 형태의 모듈화된 프로그래밍 신뢰성 높은 프로그래밍이 가능하다 추가/수정/삭제가 용이하다 재 사용성이 높다 2. 클래스 클래스 객체를 정의해 놓은 것, 즉 객체의 설계도 , 틀 클래스는 직접 사용할 수 없고 직접 사용되는 개체를 만들기 위한 틀을 제공할 뿐 객체 클래스를 데이터 타입으로 메모리에 생성된 것 객체들은 모두 클래스에서 선언된 속성을 가짐 객체 별로 다른 상태 값을 가짐 객체 생성과 메모리 JVM의 메모리 구조 클래스 영역..