본문 바로가기

반응형

개발

(176) GITHUB 방명록
제네릭(Generic) 프로그래밍 <T> 개발/Java / 2021. 5. 1. 제네릭 자료형 정의 클래스에서 사용하는 변수의 자료형이 여러 개 일 수 있고, 그 기능(메서드)은 동일한 경우 클래스의 자료형을 특정하지 않고 추후 해당 클래스를 사용할 때 지정할 수 있도록 선언 실제 사용되는 자료형의 변환은 컴파일러에 의해 검증되므로 안정적인 프로그래밍 방식 컬렉션 프레임 워크에서 많이 사용 Generic 자료형을 사용하지 않을 때 여러 자료형 타입을 수용하기 위해 Object로 만들 수 있음 단, 인스턴스를 생성 후 클래스 데이터 타입을 이용하기 위해선 강제 형 변화를 줘야 할 때가 있음 코드 예제 여러 재료를 가지는 3D 프린터를 예제로 만들었을 때 1. Plasitc 재료 public class Plastic { public String toString() { return "재료..
자료구조(Data Structure)란 개발/DS&Algorithms / 2021. 4. 30. 자료구조란 무엇인가? (Data Structure) 프로그램에서 사용할 많은 데이터를 메모리 상에서 관리하는 여러 구현방법들 효율적인 자료구저가 성능 좋은 알고리즘의 기반이 됨 자료의 효율적인 관리는 프로그램의 수행속도와 유지보수에 밀접한 관련이 있음 여러 자료 구조 중에서 구현하려는 프로그램에 맞는 최적의 자료구조를 활용해야 하므로 자료구조에 대한 이해가 중요함 자료구조의 종류 선형 자료구조 배열(Array) 연결 리스트(LinkedList) 스택(Stack) 큐(queue) 비선형 자료구조 트리(Tree) - 힙(heap) - 이진 트리(binary tree) - 이진 검색 트리(binary search tree) 그래프(Graph) 해싱(Hashing) 체이닝
[JAVA 파헤치기] 자바의 유용한 클래스들 개발/Java / 2021. 4. 29. 01. Object 클래스 - 모든 클래스의 최상위 클래스 java.lang 패키지 프로그래밍 시 자동 import import.java.lang* 많이 사용하는 기본 클래스들이 속한 패키지 String, Integer, System,, 등등 모든 클래스는 Object 클래스를 상속 java.lang.Object 클래스 모든 클래스의 최상위 클래스 모든 클래스는 Object에서 상속받고, Object 클래스의 메서드 중 일부는 재정의해서 사용 가능 (final로 선언되지 않은 클래스가 재정의 가능) 컴파일러가 자동으로 extends Object를 추가 ( class Student → class Student extends Object ) toString( ) 메서드 객체의 정보를 String으로 바꾸어서..
인터페이스(interface) 개발/Java / 2021. 4. 27. 인터페이스란? 모든 메서드가 추상 메서드로 선언됨 public abstract 모든 변수는 상수로 선언됨 public static final interfacce 인터페이스 이름 { public static final float pi = 3.14F; public void makeSomething( ); } 자바 8부터 디폴트 메서드(default method)와 정적 메서드(static method) 기능의 제공으로 일부 구현 코드가 있음 인터페이스 정의와 구현 1. Interface Calc public interface Calc { double PI = 3.14; int ERROR = -999999999; int add(int num1, int num2); int substract(int num1, i..
추상 클래스의 응용 - 템플릿 메서드 패턴 개발/Java / 2021. 4. 26. 템플릿 메서드 추상 메서드나 구현된 메서드를 활용하여 코드의 흐름(시나리오)을 정의하는 메서드 final로 선언하여 하위 클래스에서 재정의 할 수 없게 함 프레임워크에서 많이 사용되는 설계 패턴 추상 클래스로 선언된 상위 클래스에서 템플릿 메서드를 활용하여 전체적인 흐름을 정의하고 하위 클래스에서 다르게 구현되어야 하는 부분은 추상 메서드로 선언하여 하위 클래스에서 구현하도록 함 템플릿 메서드 예제 1. 추상 클래스 Car 구현 public abstract class Car { public abstract void drive(); public abstract void stop(); public void startCar() { System.out.println("시동을 켭니다."); } public voi..
추상 클래스(abstract class) 개발/Java / 2021. 4. 26. 추상 클래스란? 구현 코드 없이 메서드의 선언만 있는 추상 메서드(abstrct method)를 포함한 클래스 메서드 선언(declaration) : 반환 타입, 메서드 이름, 매개변수로 구성 메서드 정의(definition) : 메서드 구현(implementation)과 동일한 의미 구현부(body)를 가짐 → ({ }) int add(int x, int y); //선언 int add(int x, int y) { } // 구현부가 있음, 추상 메서드 아님 abstract 예약어를 사용 추상 클래스는 new 할 수 없음( 인스턴스화 할 수 없음) 추상 클래스 구현하기 메서드에 구현 코드가 없으면 abstract로 선언 abstract로 선언된 메서드를 가진 클래스는 abstract로 선언 모든 메서드가 ..

반응형