[JAVA] 예외처리
·
Back-End/Java
[작성일: 2023. 01. 31] 목차 프로그램 오류컴파일 에러(compile-time error): 컴파일할 때 발생하는 에러런타임 에러(runtime error): 실행할 때 발생하는 에러(실행은 되지만 프로그램이 종료됨)논리적 에러(logical error): 작성 의도와 다르게 동작(프로그램 종료되지 않음)✏️ Java의 런타임 에러에러는 어쩔 수 없지만 예외는 처리해야 함.에러(error)  프로그램 코드에 의해서 수습될 수 없는 심각한 오류 (메모리 부족 등)예외(exception)  프로그램 코드에 의해 수습될 수 있는 다소 미약한 오류처리 불가능한 에러 OOM(Out Of Memory)✏️ 예외처리의 정의   프로그램 실행 시 발생할 수 있는 예외의 발생에 대비한 코드 작성목적   프로그..
[JAVA] 객체지향 - 디폴트 메서드, static 메서드
·
Back-End/Java
[작성일: 2023. 01. 31] 목차 디폴트 메서드, static 메서드인터페이스에 디폴트 메서드, static 메서드 추가 (JDK 1.8부터)인터페이스에 새로운 메서드(추상 메서드)를 추가하기 어려움.해결책: 디폴트 메서드(default method)디폴트 메서드는 인스턴스 메서드(인터페이스 원칙 위반, 추상메서드가 아닌 예외상황 발생)interpace MyInterface { void method(); void newMethod(); // 추상메서드 //기존에 있던 인터페이스들이 이 추상메서드가 추가되면서 전부 수정하는 번거로움이 있음.}// ⬇️interface MyInterface { void method(); default void newMethod() {} // 추상메서드가 아니..
[JAVA] 기본 클래스
·
Back-End/Java
[작성일: 2023. 01. 31] 목차 기본 클래스(Base class)클래스명설명SystemSystem.curruntTimeMillis() : 현재 시간을 밀리초 단위로 가져옴. (1970년 1월 1일 0시 기준)사용법변수1 = 실행 한 번 하기실행 문장 수행변수2 = 실행 한 번 하기변수2  - 변수1 = 실행문장의 수행 시간StringBuffer- String은 값이 바뀔 때마다 새롭게 공간 할당하지만 StringBuffer은 뒤에다 붙임.- String은 equals로 값이 같은지 비교 가능하지만 StringBuffer은 equals 사용 불가능- StringBuffer은 toString()으로 변환 후, .equals() 사용- insert, delete, append 등Math- abs(값)..
[JAVA] 객체지향 - 인터페이스
·
Back-End/Java
[작성일: 2023. 01. 30] 목차 인터페이스(Interface)추상 메서드의 집합(프로그래밍 관점) 구현된 것이 전혀 없는 설계도 껍데기(모든 멤버가 public) ➡️객체를 만들 수 없음.하나의 시스템을 구성하는 두 개의 요소, 또는 두 개의 다른 시스템이 상호 작용을 할 수 있게 하는 접속 경계접속하기 위한 하드웨어, 소프트웨어, 조건, 규약 등을 포괄적으로 가리킴.interface 인터페이스명 { // iv, cv 등 변수는 가질 수 없음. public static final 타입 상수이름 = 값; // 상수 public abstract 메서드명(매개변수 목록); // 추상 메서드({}이 없음.)} // 모든 인터페이스의 멤버는 public만을 가짐.interface PlayingCard..
[JAVA] String
·
Back-End/Java
[작성일: 2023. 01. 30] 목차 String 배열의 선언과 생성import java.util.Arrays;class Ex5_1_tmp { public static void main(String[] args) { // index: 0 ~ 3-1, 0~2 String[] strArr = { "가위", "바위", "보" }; // 문자열 3개 배열 생성 System.out.println(Arrays.toString(strArr)); for(int i=0; i     String 클래스final 클래스로 상속 불가한 클래스new String("~~"), "~~" 두 가지 방법으로 생성 가능하며, 둘 중에서는 "~~" 방식이 자원의 재사용으로 효율적임.char[]와 메서..
[JAVA] 객체지향 - 추상클래스, 추상메서드
·
Back-End/Java
[작성일: 2023. 01. 29] 목차 추상 클래스(abstract class)미완성 설계도(부족한 부분이 있음.)미완성 메서드를 갖고 있는 클래스클래스 앞에 abstract를 붙여줘야 함. (추상 메서드가 존재한다고 추론 가능)다른 클래스 작성에 도움을 주기 위한 것. 인스턴스 생성 불가.코드의 관리에 용이함.상속을 받으며 추상클래스가 구체적이게 됨. (단계별로 관리 가능)abstract class Player { // 추상클래스 abstract void play(int pos); // 추상메서드(몸통{}이 없는 미완성 메서드) abstract void stop(); // 추상메서드}Player p = new Player(); // 에러. 추상클래스의 인스턴스 생성 불가 상속을 통해 추상 메서드를..