Java Annotation
📘 Backend/Java2023. 4. 1. 12:03Java Annotation

📘 Annotation 컴파일러에게 문법 에러를 체크하도록 정보 제공 프로그램 빌드 시 코드 자동 생성할수 있도록 정보 제공 런타임에 특정 기능 실행하도록 정보 제공 표준 Annotation 자바에서 기본적으로 제공하는 애너테이션입니다. Annotation Name Description @Override 컴파일러에게 메서드를 오버라이딩하는 것이라고 알림 @Deprecated 앞으로 사용하지 않을 대상을 알릴 때 사용 @FunctionalInterface 함수형 인터페이스라는 것을 알 @SuppressWarning 컴파일러가 경고메세지를 나타내지 않음 메타 Annotation 애너테이션에 붙이는 애너테이션으로, 애너테이션을 정의하는 데에 사용됩니다. Annotation Name Description @Ta..

Java Collection
📘 Backend/Java2023. 4. 1. 11:58Java Collection

📘 Collection FrameWork 여러 데이터들의 집합,메소드들을 미리 정의해놓은 것 특정 자료구조에 데이터를 추가&삭제&수정&검색 등의 동작을 수행하는 메소드 제공 컬렉션 프레임워크의 구조 컬렉션의 주요 인터페이스 3가지 list와 set은 공통점이 많아 공통점을 추출하여 추상화한것이 Collection 이라는 인터페이스임 List List는 데이터의 순서가 유지되며, 중복 저장이 가능한 컬렉션을 구현하는 데에 사용됩니다. ArrayList, Vector, Stack, LinkedList 등이 List 인터페이스를 구현합니다. Set Set은 데이터의 순서가 유지되지 않으며, 중복 저장이 불가능한 컬렉션을 구현하는 데에 사용됩니다. HashSet, TreeSet 등이 Set 인터페이스를 구현합니..

Java Try-with-Resource & Multi Catch
📘 Backend/Java2023. 4. 1. 11:41Java Try-with-Resource & Multi Catch

📘 Try-With-Resource JDK 1.7 부터 try-catch의 변형인 try-with-resources가 추가되었다. 주로 입출력에 필요한 클래스들 중 사용 후 닫아줘야 하는것들을 자동으로 닫아준다. 그래야 사용했던 자원(resources)가 반환되기 때문이다. 아래 예시는 DataInputStream을 이용해 파일로부터 데이터를 읽는 코드이다. 데이터를 읽는 도중 예외가 발생하더라도 Stream이 닫히도록 finnaly 안에 close()를 넣었다. 별 문제가 없어 보이는 코드지만 진짜 문제는, close()가 예외를 발생시킬 수 있다는데 있다. try { fis = new FileInputStream("score.dat"); dis = new DataInputStream(fis); } c..

Java Exception
📘 Backend/Java2023. 4. 1. 11:36Java Exception

📘 Exception 프로그램의 비정상 종료 방지, 정상 실행상태 유지 모든 Exception의 최고 상위 클래스는 Exception 이며 일반예외와 실행예외로 나뉨 try - catch문 기본 형식 try { // 예외가 발생할 가능성이 있는 코드를 삽입 } catch (ExceptionType1 e1) { // ExceptionType1 유형의 예외 발생 시 실행할 코드 } catch (ExceptionType2 e2) { // ExceptionType2 유형의 예외 발생 시 실행할 코드 } finally { // finally 블럭은 옵셔널 // 예외 발생 여부와 상관없이 항상 실행 } 예시 public class RuntimeExceptionTest { public static void main(..

Java Generic & Wildcard & Wrapper
📘 Backend/Java2023. 4. 1. 11:23Java Generic & Wildcard & Wrapper

📘 Generic 타입을 추후에 지정할 수 있도록 일반화 해두는 것 예시 제네릭을 사용하지 않았을때 작성한 비효율적인 코드 class Basket { private String item; Basket(String item) { this.item = item; } public String getItem() { return item; } public void setItem(String item) { this.item = item; } } class BasketString { private String item; ... } class BasketInteger { private int item; ... } class BasketChar { private char item; ... } class BasketDou..

Java Enum
📘 Backend/Java2023. 4. 1. 11:20Java Enum

📘 Enum (열거형) 서로 연관된 상수들의 집합 (상수 = final 키워드를 통한 변하지 않는 값 선언) 상수명은 대문자로 하는것이 관례 상수 하나하나는 객체로 간주함 따로 값을 지정해주지 않으면 0부터 시작하는 int형 값 자동할당 기본 형식 enum 열거형이름 {상수명1, 상수명2 ...} enum Seasons {SPRING, SUMMER, FALL, WINTER} JDK1.5 이전버전에서는 Enum을 지원하지 않아 아래와 같은 전역변수를 상수로 선언하는 방식을 사용했다. public static final int SPRING = 1; public static final int SUMMER = 2; public static final int FALL = 3; public static final ..

Java 객체 지향 프로그래밍 - 2
📘 Backend/Java2023. 4. 1. 11:14Java 객체 지향 프로그래밍 - 2

📘 다형성 한 타입의 참조변수를 통해 여러타입의 객체를 참조할 수 있도록 만든 것 상위 클래스 타입의 참조변수를 통해서 하위 클래스의 객체를 참조할 수 있도록 허용한 것 ex) Friend girlfriend = new GirlFriend(); 객체 타입과 참조변수 타입 불일치 //참조변수의 다형성 예시 class Friend { public void friendInfo() { System.out.println("나는 당신의 친구입니다."); } } class BoyFriend extends Friend { public void friendInfo() { System.out.println("나는 당신의 남자친구입니다."); } } class GirlFriend extends Friend { public ..

image