본문 바로가기
728x90
반응형

분류 전체보기336

Java(21) - 컬렉션프레임워크 1. 자료(Data)와 자료구조(Data Structure) 1) 자료(데이터)를 어디에 어떻게 관리할지... - 검색, 순회(iterate), 저장, 삭제, 변경,..... 2) 데이터의 형태와 쓰임에 가장 적합한 자료구조를 쓰는 것은 매우 중요. 3) 자료의 효율적인 관리는 프로그램의 수행속도와 밀접한 관련이 있음. 2. 자료구조 종류 1) 한줄로 자료를 관리하기 (선형 자료구조) - 배열(Array) - 연결리스트(LinkedList) - 스택(Stack) - 큐(Queue 2) 트리(tree) 3) 그래프(graph) 4) 해싱(hashing) 3. 배열(Array) 구현 1) 동일한 데이터 타입을 순서에 따라 관리하는 자료 구조. 2) 정해진 크기가 있음. 3) 배열의 i번째 요소를 찾는 인덱스.. 2022. 1. 28.
Java(20) - Generic 프로그래밍 1. 제네릭의 개요 1) 제네릭 타입 : 타입을 파라메타화 하여, 실행 시에 구체적으로 해당하는 타입으로 결정이 되는 것. 2) 제네릭을 사용하면 컴파일시 강한 타입 체크 뿐만 아니라, 타입 변환(casting) 사전에 제거함. ==> 웹앱의 성능 저하를 막음. 3) 타입을 파라메터로 갖는 클래스 또는 인터페이스를 의미함. - 선언할 때 클래스 또는 인터페이스명 뒤에 가 붙음. - 보통 알파벳 한 문자로 표식을 함. 4) 컬렉션 프레임워크에서 많이 사용하고 있음. 2. 멀티 타입 파라메터 1) 제넥릭은 2개 이상의 타입 파라메타를 사용해서 선언할수 있음. 2) 각 타입 파라메터는 콤마(,)로 구분함. 3. 사용하기 1) 상위클래스의 필요성 - T 자료형의 범위를 제한할 수 있음. - 상위 클래스에서 선언.. 2022. 1. 28.
Java(19) - Wrapper 클래스 1. Primitive 자료형과 Wrapper 클래스 1) 정의 : 각 기본 데이터형별로 기본 데이터에 관계된 기능을 미리 만들어 제공하는 클래스 2) 종류 boolean Boolean byte Byte char Character short Short int Integer long Long float Float double Double 3) ArrayList 등 객체만을 핸들링하는 기능을 사용하기 위해. 2022. 1. 28.
Java(18) - Class 클래스 Class 클래스 1) 자바의 모든 클래스와 인터페이스는 컴파일 후 .class 파일이 생성됨. 2) Class 클래스는 컴파일된 class 파일을 로드하여 객체를 동적 로드하고, 정보를 가져오는 메서드가 제공됨. 3) Class.forName("클래스 이름") 메서드로 클래스를 동적으로 로드 함. - 실행(runtime)중에 데이터 타입을 binding하는 방법. - 동적 로딩시 오류가 발생하면 프로그램의 심각한 장애가 발생가능. (컴파일 시에 타입이 정해지지 않으므로) 4) reflection 프로그래밍 - Class 클래스를 사용하여 클래스의 정보(생성자,변수,메서드)등을 알수 있고 인스턴스를 생성하고, 메서드를 호출하는 방식의 프로그래밍. 2022. 1. 28.
Java(17) - String 클래스 1. String 1) 선언 - String str1 = new String("abc"); - String str2 = "abc"; - 힙 메모리에 인스턴스로 생성되는 경우(1) ==> 생성될때마다 다른 주소값 가짐, 상수 풀(constant pool)에 있는 주소를 참조하는 두가지 방법이 있음(2) ==> 모두 같은 주소값 가짐. 2) 한번 생성된 String 객체는 불변함.(immutable) 3) String을 연결하면 기존의 String에 연결되는 것이 아닌 새로운 문자열이 생성됨. 2. StringBuilder, StringBuffer 1) 내부적으로 가변적인 char[]를 멤버 변수로 가짐. 2) 문자열을 여러번 연결하거나 변경할 때 사용하면 유용함. 3) 새로운 인스턴스를 생성하지 않고 ch.. 2022. 1. 28.
Java(16) - Object 클래스 1. Object 클래스 -- 모든 클래스의 최상위 클래스 2. java.lang 패키지 1) 프로그래밍시 import 하지 않아도 자동으로 import 됨. 2) 많이 사용하는 기본 클래스들이 속한 패키지. 3) String, System, Math, Integer.... 3. 모든 클래스는 Object 클래스를 상속 받음. 1) 모든 클래스는 Object 클래스의 메서드 중 일부는 재정의해서 사용할수 있음. 2) 컴파일러가 extends Object를 추가함. class Book => class Book extends Object 4. toString() 메서드 1) 객체의 정보를 String으로 바꾸어서 사용할때 쓰임(재정의) 2) String, Integer 클래스는 이미 재정의 되어 있음. 5... 2022. 1. 28.
Java(15) - 추상클래스와 인터페이스 1. abstract -- 추상적인, 미완성의 1) 클래스 앞에 붙을 때 : 클래스 내에 추상 메서드가 존재하는 클래스임. 2) 메서드 앞에 붙을 때 : 선언부만 존재하고 구현부가 없는 추상 메서드 임. 2. 추상 클래스란? 1) 개념 - 완성되지 않은 설계도와 같음. - 인스턴스를 생성할 수 없음. => 상속을 통해서 자손클래스에서 추상메서드를 다 구현해야 비로소 인스턴스 생성할수 있음. - 추상 메서드(선언부만 존재)를 최소 1개 이상 포함하고 있는 클래스임. - 다른 클래스를 작성하는데 도움을 줄 목적으로 이용됨. 3. 추상 메서드란? 1) 메서드의 선언부만 있고, 구현부(정의부, 몸통)이 없는 메서드를 말함. public abstract void power(String name); 2) 자손마다 .. 2022. 1. 28.
Java(14) - 다형성 1. 다형성(polymorphism) 1) 사전적 : 여러 가지 형태를 취할수 있는 능력 2) 하나의 참조변수로 여러 타입의 객체를 참조할수 있는 것. 즉 조상의 참조변수로 자손타입의 객체를 다룰 수 있는 것. => 원래의 타입은 유지됨. 하나의 코드로 여러 자료형으로 구현되어 실행되는 것. 같은 코드로 여러 다른 실행 결과가 나옴. 3) 정보은닉, 상속과 더불어 OOP의 가장 큰 특징 중 하나임. 4) 다형성을 잘 활용하면 유연하고 확장성 있고, 유지보수가 편리한 프로그램을 만들수 있음. 2. 다형성으로 인한 형변환(캐스팅) 1) 형변환의 전제 조건 -- 상속, 구현관계에 있는 것만 객체타입 변환이 가능. 2) Up-casting : 자손타입에서 조상타입으로 형변환, 형변환 생략가능. 묵시적 ==> 조.. 2022. 1. 28.
Java(13) - review2 1. 왜 OOP 사용할까? 1) 요구사항 변경에 유연하게 대처하고 기능 변경, 재사용을 쉽게 하기 위한 것. 2. 클래스 (Class)란 ? 1) 부류, 종류, 등급,...분류하다, 분류되다. 2) 템플릿(청사진) 3) 속성과 기능을 묶는 것 - 속성 : attribute, fields, value, property,... - 동작 : operation, function, method,... 4) 개발자가 정의한 형식(Type)으로 개념일 뿐이며 객체를 통해서 메모리에 할당될 때 비로소 사용 가능해짐. 3. 클래스 선언 방법 1)클래스 선언 방법 [가시성지시자] class 클래스명 { //필드들 [가시성지시자] 자료형 필드명; .... //메서드들 [가시성지시자] 반환자료형 메서드명([매개변수들...]).. 2022. 1. 28.
Java(12) - 상속과 오버라이딩 1. 상속(inheritance) 의 개념 1) 기존의 클래스를 재사용하여 새로운 클래스를 작성하는 것 2) 관계없는 두 개 이상의 클래스를 조상(부모), 자손(자식)으로 직접적 관계를 만듦. 3) 자손은 조상의 모든 멤버를 상속받음.(단 생성자, 초기화 블록제외) 4) 자손의 멤버개수가 조상보다 적을 수가 없음.(같거나 많음) ==> 다형성 개념 적용 5) is a 관계 : ~은 ~이다 (호랑이는 포유류이다) 6) 만들어질 클래스에 영향을 가장 많이 주는 클래스는 상속하고 보조적인 것은 포함으로 구현. 7) 자바는 단일 상속만 허용함. 8) 상속하는 클래스 : parent class, base class, super class 상속받는 클래스 : child class, derived class, sub.. 2022. 1. 28.
728x90
반응형