네이버클라우드 캠프 5기 58

7. JAVA - Generic

1. 제네릭 1. 제네릭이란 자바 제네릭은 타입의 안정성과 재사용성을 높여주는 기능. 제네릭을 사용하면 클래스나 메소드를 정의할 때 타입을 지정하지 않고 인스턴스 생성할 때나 메소드를 호출할 때 타입을 지정하여 타입만 변경하여 계속 사용 가능. 제네릭을 사용하면 중복된 코드를 제거할 수 있고 유지보수성과 가독성이 좋아진다. 의미상의 제네릭 T : Type K : Key V : Value E : Element N : Number 2. 제네릭 클래스 제네릭 클래스는 클래스명 다음에 (타입매개변수) 을 붙여서 정의하는 클래스. 에는 어떤 클래스도 사용할 수 있다. 정의 public class Clss { List listT; T t; Map tMap; } 사용 Clss cl = new Clss(); 3. 제네..

6. JAVA - 컬렉션 프레임워크 (List, Map, Set ....)

1. 컬렉션 프레임워크 1. 컬렉션 프레임워크란 다량의 데이터(데이터 그룹)에 대한 표준화된 프로그래밍 방식을 제공해주는 클래스의 집합. 다양한 종류의 다량의 데이터를 다룰 수 있게 클래스들을 제공해준다.(List, Map, Set...) 컬렉션 프레임워크의 핵심 인터페이스 List : 순서가 있는 데이터의 집합. 데이터의 중복 허용. 상속받은 클래스로는 ArrayList, LinkedList, Vector, Stack... Map : 키와 값의 쌍으로 이루어진 데이터의 집합. 키의 중복은 허용되지 않고 값의 중복은 허용됨. 상속받은 클래스로는 HashMap, HashTable, TreeMap... Set : 순서를 유지하지 않으면서 중복도 허용되지 않는 데이터의 집합. 상속받은 클래스로는 HashSet..

5. JAVA - 중첩클래스 관련 정리

1. 중첩클래스 클래스 내부에 다른 클래스를 선언하는 것을 중첩클래스라고 한다. 중첩클래스의 종류는 정적 중첩 클래스, 내부 클래스, 지역 중첩 클래스, 익명 중첩 클래스가 존재한다. 정적 중첩 클래스(static nested class) 정적 중첩 클래스는 외부 클래스의 정적 멤버(static으로 선언된 변수, 메소드)와 같은 위치에 선언한다. 외부 클래스의 객체를 생성하지 않아도 자신의 인스턴스를 생성할 수 있다. 외부 클래스의 모든 멤버변수와 메소드에 접근할 수 있다. static으로 선언된 정적 중첩 클래스안에는 정적 멤버를 가질 수 있다. 정적 멤버들은 객체를 생성 안해도 접근 가능하지만 일반 멤버들은 객체를 생성해서 접근해야 한다. //정적 중첩 클래스의 객체 생성 NestedClass.Div..

4. JAVA - interface 관련 정리

1. 인터페이스 인터페이스는 추상클래스의 일종이다. 인터페이스는 추상클래스보다 추상화의 레벨이 더 높다.(더 깊게 추상화됨) 추상클래스는 멤버변수, 일반메소드, 추상메소드를 가질 수 있었는데 인터페이스는 멤버변수, 추상메소드만 가질 수 있다. 멤버변수도 무조건 final키워드로 상수인 변수만 가질 수 있다. 인터페이스가 가질 수 있는 요소의 정의 변수는 무조건 public static final으로 시작해야되는데 웃긴건 생략이 가능하다. 모든 메소드는 public abstract로 시작해야된다. 마찬가지로 생략가능. Java 1.8이상부터는 static 메소드와 default 메소드 사용가능. 인터페이스 정의 interface 인터페이스명 { int ; public void ~(); } 컴파일러가 int..

3. JAVA - 이클립스에서 터미널에서 실행 가능Jar파일 만드는법

JAR(Java ARchive) 파일은 Java 언어로 작성된 애플리케이션, 라이브러리, 클래스 및 관련 리소스를 하나의 파일로 묶어서 저장하는 파일 형식입니다. JAR 파일은 압축 파일로, .jar 확장자를 가지며, 일반적으로 Java 애플리케이션을 배포하고 실행하는 데 사용됩니다. 이를 생성하여 터미널에서 실행시키기 위한 방법은, 1. 이클립스에서 원하는 파일 우클릭 후 Export를 눌러준다. 2. Java - Runnable JAR file 선택, 3. Launch configuration 에서 실행할 main 메소드가 있는 클래스를 골라주고, Export destination에 jar 파일이 위치할 경로를 설정해준다. 4. 터미널에서 .jar 경로로 이동 후, java -jar 파일명.jar 를..

2. JAVA - 다형성 관련 정리

1. 다형성 다형성이라는 것은 많은 형태를 가질 수 있는 것을 의미한다. 자식클래스가 부모클래스를 상속받게 되면 자식클래스는 자식클래스의 형태도 가지면서 부모클래스의 형태도 가지게 된다. 부모클래스 형태의 변수에 자식클래스의 객체를 넣어서 사용하게 되면 하나의 변수로 다양한 기능을 만들 수 있다. 기능의 다양화는 오버라이딩을 통해 이뤄진다. 부모클래스에 존재하는 메소드를 오버라이딩을 통해 자식클래스에서 다양한 기능으로 만들어서 부모클래스 형태의 변수로 같은 메소드를 호출했을 때 서로 다른 결과나 기능을 나타나게 할 수 있다. 다형성을 이용하여 코드의 중복부분을 많이 줄일 수 있다.(공수절감효과) 2. 다형성의 장점 유연성: 여러 객체를 하나의 변수로 처리할 수 있어서 유연하게 객체를 변경할 수 있다. 확..

1. JAVA - static 관련 정리

1. static static은 해석하면 '정적인' 이라는 뜻을 갖고 있다. Java에서 정적이다라는 것은 메모리에서 삭제되지 않는 것을 의미한다. static 키워드를 이용하면 프로그램 시작부터 종료까지 삭제되지 않는 변수나 메소드를 만들 수 있다. 2. 인스턴스 변수와 메소드 지역변수는 선언된 {}블록 안에서만 사용이 가능하다. 인스턴스 변수와 인스턴스 메소드는 객체를 생성했을때 사용한 변수와 메소드. 일반적으로 클래스에 선언되어 있는 변수와 메소드를 의미함. 객체가 메모리에 저장되어 삭제되기 전까지 인스턴스 변수와 인스턴스 메소드를 사용할 수 있다. 3. 클래스 변수와 메소드 클래스 변수와 클래스 메소드는 어플리케이션 시작부터 종료까지 메모리에서 삭제되지 않고 계속해서 사용가능한 변수..

Eclipse 단축키

자주쓰는 이클립스 단축키 모음 Eclipse의 단축키는 Window -> Preferences -> General -> Keys 메뉴에서 확인 및 변경이 가능하다. 1. Java Editor 단축키 Ctrl + Shift + B : 현재 커서위치에 Break point설정/해제 Ctrl + Shift + F : 소스코드 자동 정리 Ctrl + Shift + G : 현재 커서가 위치한 특정 메소드나 객체, 필드를 Reference하고 있는 곳을 찾는다. Ctrl + Shift + J : 검색할 단어를 입력하면서 실시간으로 거꾸로 검색 Ctrl + Shift + K : 이전찾기 (또는, 찾고자하는 문자열을 블럭으로 설정한 후 역으로 찾고자 하는 문자열을 찾아감.) Ctrl + Shift + L : 단축키 보..