java 69

35. API-java.util

java.util 패키지자바에서 가장 많이 쓰이는 기능을 모아둔 패키지컬렉션 프레임워크, 유틸리티(배열, 컬렉션 등), 날짜 및 시간 처리, 랜덤 값 생성, 입력기 등 Random 클래스 사용public class JavaUtil { public static void main(String[] args) { Scanner sc1 = new Scanner(System.in); sc1.close(); Random random = new Random();// 랜덤 객체 생성 int num = random.nextInt(); System.out.println(num);// 무작위 정수값 출력 int num2 = random.nextInt(100);// 0부터 해당 인자값 사이의 난수 Syst..

java 2025.03.05

34. API-java.time

java.time 패키지ISO-8601 표준을 기반으로 설계YYYY-MM-DDThh:mm:ss.sssZ 구조improt문을 사용하여 클래스를 명시해야함 예시)public class JavaTime { public static void main(String[] args) { // LocalDate - 날짜 // 날짜(연도, 월, 일) // .now(): 현재 날짜 반환 // .of(연도, 월, 일): 특정 날짜를 국제 표기법 상 반환 LocalDate today = LocalDate.now(); System.out.println(today);// 2025-02-19 LocalDate yesterday = LocalDate.of(2025, 2, 18); System.out.println(y..

java 2025.03.05

33. API-java.lang

java.lang 패키지자바 프로그램의 가장 기본적인 클래스들을 포함별도의 import 없이 사용 가능 Object 클래스자바의 모든 클래스의 최상위 클래스모든 클래스는 Object 클래스를 상속받음 Math 클래스수학 연산 및 함수를 제공하는 클래스모든 필드와 메소드는 static String문자열 조작을 위한 다양한 메소드 제공 toString() 메소드객체의 문자열 표현을 반환기본 구현: '객체의 클래스 이름 @ 메모리 주소' 반환>>오버라이딩(재정의) 해서 원하는 정보를 반환class MyClass extends Object { private int id; private String name; MyClass(int id, String name) { this.id = id; this.name ..

java 2025.03.05

32. API

API란?Application Programming Interface(미리 정의한 약속)소프트웨어 또는 시스템 간 상호작용을 가능하게 하기위해 정의된 메소드의 집합소프트웨어나 하드웨어와 상호작용할 수 있는 인터페이스를 제공 자바API클래스자바 프로그래밍 내에서 미리 정의된 클래스와 메소드의 집합자바 표준 라이브러리로 제공라이브러리 내에서 다양한 패키지로 나뉘며, 각 패키지는 특정 기능을 담당 java.lang 패키지기본 클래스(String, Math, System 등)를 포함자동으로 포함(import 없이 사용 가능) java.io 패키지입출력과 관련된 클래스File, InputStream 등과 같은 외부 입출력과 관련됨 java.util 패키지유틸리티 클래스(List, Map, Date 등)를 포함

java 2025.03.05

31. 자바의 예외 처리 방법-3(사용자 정의 예외)

사용자 정의 예외자바의 Exception 클래스를 상속받는 자식 클래스를 직접 정의 예시)class InvalidUserException extends Exception { InvalidUserException(String message) { super(message);// Exception 클래스의 getMessage()에서 사용 }}class CustomException extends Exception { CustomException(String message) { super(message); }}public class Exception03 { // 단일 예외 던지기(throws) // 메소드 선언부에서 해당 메소드가 발생시킬 수 있는 예외를 명시하는 키워드 static void login(St..

java 2025.03.05

29. 자바의 예외 처리 방법-1(try-catch)

try-catch 블록기본 형태try { 예외가 발생할 수 있는 코드 }catch('발생할 예외의 타입', '예외를 저장할 변수'){ 해당 예외 발생 시 실행할 코드 }catch('발생할 예외의 타입', '예외를 저장할 변수'){ 해당 예외 발생 시 실행할 코드 }catch 블록: 특정 예외 타입이 발생했을 때 실행될 코드를 정의>>다중 catch 블록으로 사용 가능(여러 예외 처리 가능) 예시)public static void main(String[] args) { // char c1 = 'abc'; 컴파일 예외 String s1 = "abc"; // System.out.println(a1); 컴파일 예외 // int division = 10 / 0; 런타임 예외 //Excep..

java 2025.03.05

28. 예외(Exception)

자바 예외 처리 예외(Exception)란?프로그램 실행 중에 발생할 수 있는 예기치 못한 문제나 조건 예외 처리란?예외가 발생할 경우 프로그램이 중단되지 않고 대응하여 정상적인 흐름을 유지하는 방법 자바 예외 클래스의 구조Throwable: 모든 예외와 오류의 최상위 클래스모든 예외 클래스는 해당 클래스를 상속받음ex) 예외와 관련된 메시지, 처리 방법에 대한 예시 정보... cf) 자바 클래스 타입의 최상위 클래스는 Object 자바의 예외와 오류Exception(예외) 클래스프로그램이 처리할 수 있는 예외들을 정의>>예외 처리를 통해 '개발자'가 해결할 수 있는 문제들을 정의예외가 발생하면 코드가 더 이상 실행되지 않음 Checked Exception컴파일 시점에 체크되는 예외(코드 작성 시)개발자..

java 2025.03.05

실습) 추상 클래스 활용2

// 인터페이스// Fruit 과일 인터페이스 정의// color: 추상 메소드// describe: 디폴트 메소드// printType: 정적 메소드interface Fruit { // 추상메소드: public abstract 생략 // 추상클래스의 추상메소드와 다름 String color(); // 디폴트 메소드: 재정의 (오버라이드) 가능 default void describe() { System.out.println("과일의 색상은 " + color() + "이며 모양은 동그랗습니다"); } // 정적 메소드: 재정의(오버라이드) 불가능 static void printType() { System.out.println("과일(Fruit)의 타입입니다"); }}class Apple implem..

java 2025.02.27

실습) 추상 클래스 활용 1

// 추상 클래스// 모바일 어플리케이션abstract class MobileApp{ // 추상 메소드: 실행에 대한 동작 정의 // 각 앱마다 '고유한 실행' 정의 - 상속받은 클래스에서 구현 abstract void execute(); // 일반 (구현 메소드) void appInfo() { System.out.println("This is a mobile app"); }}// 게임 어플리케이션class GameApp extends MobileApp{ // 추상 메소드 구현 @Override void execute() { System.out.println("Game app executes"); }}// SNS 어플리케이션class SocialApp extends MobileApp{ String ..

java 2025.02.27

27. 인터페이스(Interface)

인터페이스란?객체가 어떤 방식으로 동작해야 하는지 정의하는 추상 타입추상 메소드와 상수로만 이루어진 특수한 클래스>> 모든 메소드는 추상 메소드여야 하며>> 모든 변수는 상수이고 public static final 특성을 가짐인터페이스의 구현은 인터페이스를 클래스에서 사용할 때 구현됨 인터페이스의 특징메소드: 모든 메소드는 public abstract로 선언>> 키워드 생략 가능(생략시 컴파일러가 자동으로 public abstract 취급) 변수(필드): 모든 변수는 public static final로 선언>> 키워드 생략 가능(생략시 컴파일러가 자동으로 public static final 취급) 다중 구현 지원한 클래스에서 여러 인터페이스를 동시에 구현 가능객체의 각 행동을 정의하는 역할 인터페이스 ..

java 2025.02.27