Backend/Java
Java Generic, Collection에 대해
제네릭(Generic) 만약에 우리가 어떤 자료구조를 만들어 배포하려고 한다. 그런데 String 타입도 지원하고싶고 Integer타입도 지원하고 싶고 많은 타입을 지원하고 싶다. 그러면 String에 대한 클래스, Integer에 대한 클래스 등 하나하나 타입에 따라 만들 것인가? 그건 너무 비효율적이다. 이러한 문제를 해결하기 위해 우리는 제네릭이라는 것을 사용한다. 제네릭(Generic)은 클래스 내부에서 사용할 데이터 타입을 외부에서 지정하는 기법을 의미한다. 큐랑 스택은 LIST에 포함 Queue 생성 JAVA에서 자료구조 Queue 를 생성하는 방법은 아래와같다. import java.util.Queue; Queue queue=new LinkedList(); Queue queue= new Li..
Java Override & Overload
Overriding & Overloading Overriding 상위 클래스의 메서드와 이름과 용례(signature)가 같은 함수를 하위 클래스에 재정의하는 것을 말한다. 즉, 상속 관계에 있는 클래스 간에 같은 이름의 메서드를 정의하는 것을 말한다. 하위 클래스에 있는 애들마다 똑같은 메소드를 다르게 쓰고싶을테니까 class Parent { void display() { System.out.println("부모 클래스의 display() 메소드입니다."); } } class Child extends Parent { void display() { System.out.println("자식 클래스의 display() 메소드입니다."); } } /*class Child extends Parent { void..
Java Grammer (version. Jiwon)
직렬화(Serialization) : 객체를 파일에 저장하려면 객체가 가진 data들을 순차적인 data로 변환하는 과정 역직렬화(Deserialization) : 직렬화된 data를 읽어서 자신의 상태를 복구하는 것 변수의 초기화 멤버변수는 초기화를 하지 않아도 자동적으로 변수의 자료형에 맞는 기본값으로 초기화가 이루어지므로 초기화하지 않고 사용해도 되지만 지역 변수는 사용하기 전에 반드시 초기화를 해야한다. class InitTest { int x; int y = x; //문제 없음 void method() { int i; int j = i; // 컴파일 에러: 지역변수를 초기화하지 않고 사용함 } } String str1 = "asdf"; String str2 = "asdf"; String str3..
JDK란? JRE, JVM에 대한 정리
● JDK(Java Development Kit) 자바 개발자 키트 개발자들이 Java로 프로그램을 만들 수 있또록 다양한 기능을 제공하는 Kit 컴파일러, JRE, JVM 등의 도구를 가지고 있다. ● 구성 javac - 자바 컴파일러(자바 소스파일 => 바이트코드) java - javac가 만든 클래스 파일 해석 및 실행 jdb - 자바 디버깅 툴 jre - 자바 런타임 환경, 자바 클래스 라이브러리/JVM/자바 클래스 로더 가지고 있음 JVM이 원활히 작동할 수 있게 환경을 맞춰주는 역할을 함 jvm - 자바 가상 머신, 자바가 실제로 동작하는 가상 환경, 다양한 os 및 기기에서도 실행 될 수 있도록 지원 * IDE는 .java 편집기와 Complie & Run 동작을 편하게 제공해주는 Tool ..