Java

    Java_int와 Integer의 차이

    Java_int와 Integer의 차이

    ▶ Integer와 int의 차이를 알기 위해서는 우선 Java서는 원시타입 (Primitive Type), 래퍼 클래스 (Wrapper Class)가 있다. 원시타입과 래퍼클래스는 위처럼 나뉘어진다. 원시 타입으로는 byte, short, int, long, float, double, boolean, char 이 있고, 래퍼 클래스로는 Byte, Short, Integer, Long, Float, Double, Boolean, Character 가 있다. ▶ Primitive Type과 Wrapper Class는 무슨 차이가 있는걸까? Wrapper Class는 Primitive Type을 객체화한 것이다. ( wrap == 포장 ) public class Main { public static void..

    Java_BufferedReader 예외처리 경우

    Java_BufferedReader 예외처리 경우

    BufferedReader는 입력 값을 바이트스트림에서 문자스트림으로 변환해주는 InputStreamReader와 입력 장치를 통해 값을 받아주는 System.in을 사용한다. 위 사진처럼 BufferedReader을 사용하는 과정에서 br.readLine()을 사용하니 에러가 나타났다. error : unreported exception IOException; must be caught or declared to be thrown show context Actions를 봐보니 아래와 같이 throws IOException을 해주거나 try-catch문을 통해 예외처리를 해줘야 에러가 발생하지 않는다고 되어 있다. 주로 값을 입력 받을 때 Scanner을 사용하는 편이었는데, 처리 속도 차이로 인해 Bu..

    Java_Scanner 버퍼 비우기

    Java_Scanner 버퍼 비우기

    Java에서 콘솔을 통해 값을 입력받아야 할 때, Scanner를 정말 많이 사용하게 된다. 스캐너의 경우, 일반적인 사용법은 입출력으로 나뉠 수 있는데, 1. Scanner sc = new Scanner(System.in); // 입력값 2. Scanner sc = new Scanner(System.out); // 내보내는 값 위처럼 스캐너 객체를 생성할 때 입력 값을 받도록 한다. 그런데 스캐너를 통해 입력을 받을 때, 변수의 자료형을 구분해주어야한다. Java에서는 특히나 자료형을 더 신경써주어야한다 ! 아래 예시를 봐보자. import java.util.Scanner; public class next2 { public static void main(String[] args) { Scanner sc..

    Java_컬렉션 프레임워크

    Java_컬렉션 프레임워크

    ◼ List 인터페이스 먼저, 스택은 상자를 쌓듯이 자료를 관리하는 방법이다. 중간에 있는 상자를 꺼내기 위해서는 무너질 수 있으니 마지막 상자를 먼저 꺼내야한다. Last In First Out으로 LIFO 방식이다. 큐는 '선착순'개념이다. 줄을 선 대기열처럼 먼저 추가된 데이터부터 꺼내서 사용하는 방식으로 First In First Out, FIFO 방식이다. ◼ Set 인터페이스 순서와 상관없이 중복을 허용하지 않는 경우에는 Set 인터페이스를 구현한 클래스를 사용한다. HashSet 클래스는 집합 자료 구조를 구현하며 중복을 허용하지 않는다. 아래와 같이 두번 추가를 하여도 결과적으로 출력해보면 한번만 나타나는 것을 확인할 수 있다. TreeSet 클래스는 데이터를 추가한 후 결과를 출력하여 정..

    Java_인터페이스

    Java_인터페이스

    인터페이스는 추상 메소드와 상수로만 이루어져 있다. 구현된 코드가 없기 때문에 인터페이스로 인스턴스를 생성하는 것은 불가능하다. 인터페이스에서 선언한 메소드는 컴파일 과정에서 추상 메소드로 변환된다. 또한, 여기서 선언한 변수는 모두 컴파일 과정에서 값이 변하지 않는 상수로 자동 변환된다. 클래스에서 인터페이스 구현하기 :상속에서는 extends 예약어를 사용했다면, 인터페이스에서는 implements 예약어를 사용한다. 클래스에서 implements를 통해 인터페이스를 구현했다면 추상메소드를 구현해주어야한다. 안할 경우, 오류가 발생한다. 인터페이스는 인터페이스를 구현할 클래스가 어떤 기능의 메소드를 제공하는지 명시한다. 한 클래스가 여러 인터페이스를 구현하는 경우 :Buy buyer = custome..

    Java_추상 클래스

    Java_추상 클래스

    추상 클래스는 항상 추상 메소드를 포함한다. 추상 메소드는 구현 코드(함수 몸체 body)가 없다. 추상 메소드는 아래와 같이 abstract 예약어를 사용한다. 그리고 { } 대신에 ; 를 사용한다. 자바에서 추상 메소드는 abstract 예약어를 사용하여 선언만 하는 메소드이다. abstract int add(int x, int y); 추상 클래스 선언 예시 : 아래의 Desktop 클래스에서 display()와 typing()메소드를 오버라이딩 해주지 않으면 오류가 발생한다. public abstract class Computer { public abstract void display(); public abstract void typing(); } public class Desktop extends..