[JAVA] Generic
Generic Generic 을 사용하는 이유 코드 재사용성 증가: 동일한 로직을 다양한 타입에 대해 반복해서 작성하지 않아도 됨 → List<String> List<Integer> 등 동일한 List 로직 재사용 타입 안정성 향상: 컴파일 타임에 타입 체크 가능 → 잘못된 ...
Generic Generic 을 사용하는 이유 코드 재사용성 증가: 동일한 로직을 다양한 타입에 대해 반복해서 작성하지 않아도 됨 → List<String> List<Integer> 등 동일한 List 로직 재사용 타입 안정성 향상: 컴파일 타임에 타입 체크 가능 → 잘못된 ...
예외처리가 필요한 이유 외부 시스템(서버, DB, 파일시스템) 은 항상 실패 가능성이 존재 ex) 서버 연결 실패, 네트워크 끊김 등 정상 흐름과 예외 흐름이 섞이면 가독성이 떨어짐 외부 자원을 사용한 후 연결을 해제해 외부 자원을 반드시 반납해야 한다. 예외 처리는 오류 발생 시 프로그램이 비정상 종료되지 않고, 정상 흐름...
중첩 클래스 중첩 클래스는 바깥 클래스의 안에 있지만, 바깥 클래스와 상관 없는 전혀 다른 클래스 class Outer { ... //중첩 클래스 class Nested { ... } } 중첩 클래스의 종류 정적 중첩 클래스 - static 이 붙고, 바깥 클래스의 인스턴스에 소속되지 않음 내부 클래스 - stati...
열거형 - ENUM 열거형(Enum Type)을 이해하기 위한 예제를 만들어보자 고객을 3개의 등급으로 나누고, 상품 구매 시 등급별로 할인을 적용한다. (소수점 버림) BASIC → 10% 할인 GOLD → 20% 할인 DIAMOND → 30% 할인 할인등급을 String 으로 표현했을 때의 문제점 문자열은 오타, 유효하...
기본형의 한계와 래퍼 클래스 기본형의 한계 자바는 객체 지향 언어이지만 int, double 같은 기본형(Primitive Type) 은 객체가 아니라 객체 지향의 장점을 온전히 사용할 수 없다. 기본형의 한계를 이해하기 위해, 두 값을 비교해서 다음과 같은 결과를 출력하는 간단한 코드를 작성해보자 public static void main(S...
자바에서 문자열 문자 하나: char char c = 'A'; 자바에서 문자를 다루는 가장 기본적인 타입. char[] arr = {'h', 'e', 'l', 'l', 'o'}; System.out.println(arr); // hello 여러 문자를 다루려면 char[] 을 사용한다. 하지만 char[] 는 직접다루기 불편하...
자바 데이터 타입 분류 기본형(Primitive Type): 값을 직접 저장. 공유 X 참조형(Reference Type): 객체의 참조값을 저장. 공유 O 기본형은 값 복사 int a = 10; int b = a; b = 20; System.out.println(a); // 10 b = a 는 값을 복사함 → a, b 는...
java.lang 패키지란? 자바 언어의 기본 클래스들이 포함된 패키지 자동 import됨 → 따로 import java.lang.* 안 써도 됨 대표 클래스: Object: 모든 자바 객체의 부모 클래스 String: 문자열 System: 시스템 관련된 기본 기능 Integer Long Double: 래퍼 타입, 기본형 데이터 타입을 ...
자바 다형성 복습
자바 상속 복습