[JAVA] 자바11 설치 / 환경변수 설정 (Window11)
·
Language/Java
1) 자바 11 다운로드 (JAVA SE JDK 설치) https://www.oracle.com/java/technologies/downloads/archive/ Looking for an Older Java Release? Access the historical java release archive that includes JRE and JDK to help developers debug issues in older systems. www.oracle.com SE는 Standard Edition으로 기본 에디션이라는 뜻으로 기본 에디션을 설치해 주면 된다. EE는 Enterprise Edition으로 기업용환경을 구성해주는 에디션이다. 2) 자바 환경변수 설정 이미 자바 8을 설치해 사용하고 있었기 때..
[JAVA] 입출력 스트림(자바I/O 스트림)
·
Language/Java
더보기 프로그램은 데이터를 읽고 출력하는 작업을 빈번히 수행한다. 데이터는 키보드를 통해 입력될 수 있고, 파일 또는 네트워크로부터 입력될 수도 있다. 반대로 모니터로 출력될 수도 있고, 파일 또는 네트워크로 출력될 수도 있다. 데이터를 읽고 출력하기 위해 사용되는 입출력 API에 대해 알아보자 자바에서 데이터는 스트림(Stream)을 통해 입출력된다. 스트림은 단일 방향으로 연속적으로 흘러가는 것을 말하는데, 데이터는 출발지에서 도착지로 흘러간다. 프로그램이 출발지냐 도착지냐에 따라서 사용하는 스트림의 종류가 결정된다. 프로그램이 도착지이면 데이터를 입력받아야 하므로 입력 스트림을 사용한다. 프로그램이 출발지이면 데이터를 출력해야 하므로 출력 스트림을 사용한다. 입출력 스트림의 종류 java.io 패키..
[JAVA] throws 키워드 : 예외 떠넘기기
·
Language/Java
메소드 내부에서 예외가 발생할 수 있는 코드를 작성할 때 try-catch 블록으로 예외를 처리한다. https://sy-blog.tistory.com/76?category=899823 예외 처리 코드 (try - catch - finally) try - catch - finally 블록은 생성자 내부와 메소드 내부에서 작성되어 일반 예외와 실행 예외가 발생할 경우 예외 처리를 할 수 있도록 해준다. ∙ try 블록에는 예외 발생 가능 코드가 위치한다. ∙ t sy-blog.tistory.com 하지만 경우에 따라서는 메소드를 호출한 곳으로 예외를 떠 넘길수도 있다. 이때 사용하는 키워드가 throws이다. throws 키워드는 메소드 선언부 끝에 작성되어 메소드에서 처리하지 않은 예외를 호출한 곳으로 ..
[JAVA] 컬렉션 프레임워크: List
·
Language/Java
더보기 배열은 기본 타입 뿐만 아니라 클래스 타입의 배열도 만들 수 있기 때문에 객체 저장소로 사용될 수 있다. 하지만 배열은 선언 시 정한 크기(저장 용량)를 변경할 수 없고, 항목을 저장, 삭제, 추가하는 메소드가 없기 때문에 직접 인덱스를 사용해야 한다. 이러한 불편함을 해결하기 위해 자바는 컬렉션 프레임워크를 제공한다. 자바는 널리 알려져 있는 자료구조를 사용해서 객체들을 효율적으로 추가, 삭제, 검색할 수 있도록 인터페이스와 구현 클래스를 java.util 패키지에서 제공한다. 이들은 총칭해서 컬렉션 프레임워크라고 부른다. 컬렉션은 객체의 저장을 뜻하고, 프레임워크란 사용 방법을 정해놓은 라이브러리를 말한다. 실제로 컬렉션 프레임워크는 사용 방법을 정의한 인터페이스와 실제 객체를 저장하는 다양한..
예외 처리 코드 (try - catch - finally)
·
Language/Java
try - catch - finally 블록은 생성자 내부와 메소드 내부에서 작성되어 일반 예외와 실행 예외가 발생할 경우 예외 처리를 할 수 있도록 해준다. ∙ try 블록에는 예외 발생 가능 코드가 위치한다. ∙ try 블록의 코드가 예외 발생 없이 정상 실행되면 catch 블록의 코드는 실행되지 않고 finally 블록의 코드를 실행한다. ∙ 만약 try 블록 코드에서 예외가 발생하면 즉시 실행을 멈추고 catch 블록으로 이동하여 예외 처리 코드를 싱행한다. 그리고 finally 블록의 코드를 실행한다. ∙ finally 블록은 생략 가능하다. 예외 발생 여부와 상관없이 항상 실행할 내용이 있을 경우에만 finally 블록을 작성해주면 된다. 심지어 try 블록과 catch 블록에서 return ..
실행 예외
·
Language/Java
실행 예외는 자바 컴파일러가 체크하지 않기 때문에 오로지 개발자의 경험에 의해서 예외 처리 코드를 작성해야 한다. 만약 개발자가 실행 예외에 대해 예외 처리 코드를 넣지 않았을 경우, 해당 예외가 발생하면 프로그램은 곧바로 종료된다. NullPointerException 자바 프로그램에서 가장 빈번하게 발생하는 실행 예외는 java.lang.NullPointerException이다. 이것은 객체 참조가 없는 상태, 즉 null 값을 갖는 참조 변수로 객체 접근 연산자인 도트(.)를 사용했을 때 발생한다. 객체가 없는 상태에서 객체를 사용하려 했으니 예외가 발생하는 것이다. ArrayIndexOutOfBoundsException 배열에서 인덱스 범위를 초과할 경우 실행 예외인 java.lang.ArrayI..
예외 클래스
·
Language/Java
자바에서는 컴퓨터 하드웨어의 오동작 또는 고장으로 인해 응용프로그램 실행 오류가 발생하는 것을 에러(error)라고 한다. 에러 이외에 프로그램 자체에서 발생하는 오류는 예외(exception)라고 한다. 예외란 사용자의 잘못된 조작 또는 개발자의 잘못된 코딩으로 인해 발생하는 프로그램 오류를 말한다. 예외가 발생하면 프로그램은 곧바로 종료된다는 점에서 에러와 비슷하다. 그러나 예외는 예외 처리를 통해 프로그램을 종료하지 않고 정상 실행 상태가 유지되도록 할 수 있다. 자바는 예외가 발생할 가능성이 높은 코드를 컴파일 할 때 예외 처리 유무를 확인한다. 만약 예외 처리 코드가 없다면 컴파일이 되지 않는다. 하지만 모든 예외에 대해서 예외처리 유무를 확인하는 것은 아니다. 예외에는 일반예외, 실행 예외의 ..
[JAVA] 람다식
·
Language/Java
인터페이스의 일반적인 구현은 인터페이스 추상메소드 → 클래스에서 추상메소드 구현 → 메인클래스에서 사용 MyLamdaFunction.java package Lamda; public interface MyLamdaFunction { //추상 메소드 public void method(String s1, String s2); } Lamda.java package Lamda; class Lamda implements MyLamdaFunction{ public void method(String s1, String s2) { System.out.println(s1+s2); } } MainClass.java package Lamda; public class MainClass { public static void ma..
[JAVA] 인터페이스
·
Language/Java
∙ 자바에서 인터페이스는 객체의 사용 방법을 정의한 타입 ∙ 인터페이스를 통해 다양한 객체를 동일한 사용 방법으로 이용할 수 있음 ∙ 클래스와 달리 객체를 생성할 수 없으며, 클래스에서 구현해야 하는 작업 명세서 ∙ 여러 객체들과 사용이 가능하므로 어떤 객체를 사용하느냐에 따라 실행 내용과 리턴값이 다를 수 있음 ∙ 개발 코드 측면에서 코드 변경없이 실행 내용과 리턴값을 다양화 할 수 있음 상수 필드와 추상 메소드 상수 필드 인터페이스는 객체 사용 방법을 정의한 것이라 실행시 데이터를 저장할 수 있는 인스턴스 or 정적 필드를 선언할 수 없다. but 상수 필드는 사용 가능!! (단, 상수는 고정된 값으로 실행 시 데이터를 바꿀 수 없음) package study1; public interface Rem..