목록STUDY/Java (9)
All :L
📒 노드스트림1️⃣ I/O와 StreamI/O → Input/Output데이터는 한쪽에서 주고 한쪽에서 받는 구조로 되어있음입력과 출력의 끝단 → 노드(node)두 노드를 연결하고 데이터를 전송할 수 있는 개념 → 스트림(stream)스트림은 단방향 통신만 가능하나의 스트림으로 입력과 출력을 같이 처리할 수 XNode Stream의 종류와 namingNode stream → node에 연결되는 스트림JAVA 노드 스트림 & 보조 스트림2️⃣ InputStream과 ReaderInputStream의 주요 메서드read() → 데이터 읽어서 반환public abstract int read() throws IOException → byte 한 개씩 읽음public int read(byte b[]) throw..
📒 예외의 처리1️⃣ 에러와 예외어떤 원인에 의해 오동작 하거나 비정상적으로 종료되는 경우exception handling(예외 처리)란?예외 발생 시 프로그램의 비 정상 종료를 막고 정상적인 실행 상태를 유지하는 것예외의 감지 및 예외 발생 시 동작할 코드 작성 필요2️⃣ 예외 클래스의 계층checked exception → 예외에 대한 대처 코드가 없으면 컴파일이 진행되지 Xunchecked exception → 예외에대한 코드가 없더라도 컴파일은 진행됨3️⃣ Exception handling 기법try{} catch() {}public class SimpleException { public static void main(String[] args) { int[] intArray = { 10 }; t..
📒 List 계열1️⃣ 자료구조데이터 값의 모임, 또 데이터 간의 관계, 그리고 데이터에 적용할 수 있는 함수나 명령을 의미2️⃣ 배열가장 기본적인 자료 구조homeogeneous collection : 동일한 데이터 타입만 관리 가능PolymorphismObject를 이용하면 모든 객체 참조 가능 → Collection Framework담을 땐 편리, 빼낼 땐 Object로만런타임에 실제 객체의 타입 확인 후 사용해야 하는 번거로움Generic을 이용한 타입 한정컴파일 타임에 저장하려는 타입 제한 → 형변환의 번거로움 제거3️⃣ Collection Frameworkjava.util 패키지다수의 데이터를 쉽게 처리하는 방법 제공 → DB처럼 CRUD 기능 중요Collection framework 핵심 ..
📒 generic1️⃣ Generic다양한 타입의 객체를 다루는 메서드, 컬렉션 클래스에서 컴파일 시에 타입 체크미리 사용할 타입을 명시해서 형 변환을 하지 않아도 되게 함안정성 향상 및 형 변환의 번거로움 감소2️⃣ 클래스에 선언된 Generic클래스 또는 인터페이스 선언 시 에 타입 파라미터 표시형인자(Type Parameter)단순히 임의의 참조형 타입을 말하며 성격에 따라 선언객체 생성변수 쪽과 생성 쪽의 타입은 반드시 같아야 함.Generic Type 선언Object 속성으로 사용어떤 객체든지 수용 가능어떤 타입을 속성으로 사용할지 타입 선언 시 결정컴파일 타임에 타입 파라미터들이 대입된 타입으로 대체됨.3️⃣ 주의사항raw type의 사용과 @SuppressWarning헷갈리는 사용법Pers..
📒 abstract class1️⃣ abstract class 의미자손 클래스에서 반드시 재정의해서 사용되기 때문에 조상의 구현이 무의미한 메서드메서드의 선언부만 남기고 구현부는 세미콜론으로 대체구현부가 없다는 의미로 abstract 키워드를 메서드 선언부에 추가객체를 생성할 수 없는 클래스라는 의미로 클래스 선언부에 abstract 추가공통 분모를 뽑아 상속 구조상속 관계 정의를 통한 클래스 정비관계를 통한 객체 활용2️⃣ abstract class 특징abstract 클래스는 상속 전용 클래스자식은 abstract method 재정의할 책임클래스에 구현부가 없는 메서드가 있으므로 객체를 생성할 수 X상위 클래스 타입으로써 자식을 참조 가능조상 클래스에서 상속받은 abstract 메서드를 재정의 하지..
📒 접근제한자 활용1️⃣ 데이터 은닉과 보호 (Encapsulation: OOP Is A PIE)정보 보호 대책변수 private으로 접근 막기공개되는 메서드를 통해 접근 통로 마련 (setter / getter) → 메서드에 정보 보호 로직 작성2️⃣ 객체 생성 제어객체 생성 제한 시여러 개 객체 필요 X 경우 → like 관리자 같은 계정이 필요할 때수정 가능한 멤버 변수 X, 기능만 O이러한 객체를 stateless한 객체라고 함.객체를 계속 생성 / 삭제 하는데 많은 비용이 들어 재사용이 유리한 경우3️⃣ Singleton 디자인 패턴싱글톤 패턴은 클래스가 단 하나만의 인스턴스를 생성해 사용하기 위한 패턴외부에서 생성자에 접근 금지생성자의 접근 제한자를 private으로 설정내부에서 privat..