본문 바로가기
반응형

Java, JSP32

[Java/자바] FileInputStream, FileReader, 파일 불러오기 ⚡️FileInputStream 자바에서는 다양한 타입의 확장자를 가진 파일을 읽기 위해 FileInputStream 클래스를 이용합니다. 이 클래스를 이용하면 파일에서 바이트 단위로 입력이 가능해 다른 입력 클래스들과 연결해서 데이터를 읽어올 수 있습니다. 이번에는 간단하게 txt 파일을 읽어보며 FileInputStream 클래스에 대해 알아보겠습니다. ⚡️FileInputStream 사용법 📌 FileInputStream 생성자 우선 FileInputStream의 생성자에는 두가지가 존재합니다. FileInputStream(File file) File 객체가 가리키는 파일을 바이트 스트림으로 읽기 위해 FileInputStream 객체를 생성 FileInputStream(String s) 생성자에 .. 2022. 1. 14.
[Java/자바] ArrayList 사용법 ⚡️ArrayList ArrayList은 자바의 JCF(Java Collections Framework), 자바 컬렉션 프래임워크 중 일부로 List 인터페이스를 상속받은 클래스 중 하나입니다. 한번 생성하면 크기가 고정되는 배열과 다르게 부족한 공간을 자동으로 늘려주는 선형리스트입니다. 배열은 데이터를 추가, 삭제 시 반복문으로 인덱스를 한칸씩 밀거나 당기는 식으로 공간을 조절하지만 ArrayList는 이 과정을 자동으로 처리해주어서 편리하게 사용이 가능합니다. 📌 ArrayList 선언 ArrayList list1 = new ArrayList(); ArrayList list2 = new ArrayList(); // 타입 생략 가능 ArrayList pList = new ArrayList(); // 타.. 2022. 1. 13.
[Java/자바] 해시맵, HashMap 사용법과 EntrySet, Iterator ⚡️ 해시맵(HashMap) 해시맵은 자바의 JCF(Java Collections Framework), 자바 컬렉션 프래임워크 중 일부로 Map 인터페이스의 구현 클래스 중 하나입니다. Map 인터페이스를 상속하고 있기 때문에 객체로 구성된 자료구조의 특성을 그대로 지니고 있습니다. 에서 키는 중복 저장이 불가능하며, 값은 중복 저장이 가능합니다. 만약 이미 존재하는 키로 값을 저장하게 된다면 기존의 값에서 새로운 값으로 대체됩니다. 그럼 아래의 순서대로 해시맵의 사용법을 알아보겠습니다. HashMap 선언 HashMap 데이터 추가 HashMap 데이터 삭제 HashMap 데이터 추출, 출력 EntrySet() 사용법 Iterator 사용법 📌 HashMap 선언 HashMap map = new Has.. 2022. 1. 11.
[Java/자바] 객체 비교, equals()와 hashCode() ⚡️ equals()와 hashCode() equals와 hashCode 메소드는 기본적으로 최상위 클래스인 Object의 메소드입니다. 즉 생성되는 모든 클래스는 Object에게 상속받고 있기 때문에 equals와 hashCode 메소드를 사용 가능합니다. 아래와 같이 둘은 맥락은 비슷하지만 디테일에서 차이가 있습니다. equals() 두 객체의 내용이 동일한지 확인하는 메소드 동일한 메모리 주소를 가르키면 true리턴 hashCode() 비교 시 두 객체가 같은 객체인지 확인할 수 있는 메소드 객체의 유일한 정수값을 반환하는 메소드 그럼 아래에서 더 자세한 사용법을 알아보겠습니다. ⚡️ Equals() 멤버로 이름을 가지고 있는 클래스를 하나 생성해줍니다. class Student{ String na.. 2022. 1. 10.
[Java/자바] Generic, 제네릭 제네릭이란 프로그램에서 변수와, 메소드를 선언할 때 자료형을 선언해줍니다. 대부분 하나의 자료형으로 구현되지만, 변수나 메소드의 자료형을 필요에 따라 여러 자료형으로 사용할 수 있다면 프로그램을 유연하게 사용할 수 있을 겁니다. 이와 같이 어떤 값이 하나의 참조 자료형이 아닌 여러 참조형을 사용할 수 있도록 프로그래밍하는 것을 제네릭(generic)이라고 합니다. 제네릭은 클래스나 메소드에서 사용할 내부 데이터 타입을 컴파일 시, 미리 지정하는 방법입니다. 제네릭을 사용하면 참조 자료형이 변환될 때 이에 대한 검증을 컴파일러가 하므로 아래와 같은 장점이 있습니다. 클래스와 메소드 내부 객체의 타입 안정성을 높임 반환 값에 대한 타입 변환 및 타입 검사에 들어가는 노력이 줄어듦 그럼 코드를 통해 자세한 사.. 2022. 1. 8.
[Java/자바] StringBuffer와 StringBuilder의 차이, 사용법 ⚡️ String과 StringBuffer, StringBuilder 자바에서 불변성을 지닌 String 클래스는 한 번 생성되면 기존의 값에 더하거나 삭제하는, 즉 수정하는 것이 불가능합니다. 그러나 문자열에 대한 변경처리를 가능케 하는 StringBuffer와 StringBuilder는 버퍼에 문자열을 담아두고 기존 문자열에 수정을 가할 수 있습니다. String str = "hello"; str = str + " world";// 새로운 메모리 영역에 저장 Stringbuffer sb = new StringBuffer(str); sb.append(" world");// 기존 메모리 영역에 수정 버퍼의 크기는 최초 16 char의 크기를 가지고 있으며 따로 설정해주지 않더라도 그 크기를 초과하면 자동.. 2022. 1. 7.
[Java/자바] 예외처리 (try - catch - finally), 사용자 정의 예외 ⚡️예외처리(Exception) 프로그램을 작성하며 오류가 발생할 경우 프로그램은 그 즉시 오류 메세지를 남기며 종료됩니다. 예외처리는 오류로 인한 갑작스러운 프로그램의 종료 혹은 자신도 모르게 숨어있는 버그를 찾기 위해 사용됩니다. 기본적으로 try문에서 발생한 오류를 catch문으로 던져줘 오류에 대한 예외처리를 하고, 오류의 유무에 상관없이 finally문을 작동시킵니다. try { // 일반적으로 실행하는 문장 } catch(예외타입 e) { // 예외 처리 구문 } catch(예외타입2 e) { // 다중 예외 처리 구문 } finally { // 반드시 실행하는 구문 } 구문이 실행되는 순서는 2가지로 나뉩니다. 1. 오류가 발생하지 않았을 때 : try -> finally 2. 오류 발생 시.. 2022. 1. 4.
[Java/자바] 내부클래스(Inner Class) - 인스턴스 클래스, 정적 클래스, 지역 클래스, 익명 클래스 ⚡️Inner Class(내부 클래스) 내부 클래스는 클래스 내부에 선언된 클래스를 의미합니다. 내부에 있는 클래스를 inner class(내부 클래스), 바깥에서 내부 클래스를 감싸고 있는 클래스를 outer class(외부 클래스)라고 부릅니다. class OuterClass{ //외부 클래스 class InnerClass{ //내부 클래스 ... } } 📌 내부 클래스의 장점 내부 클래스를 사용함으로써 얻는 장점으로는 아래와 같습니다. 내부 클래스에서 외부 클래스 멤버에 쉽게 접근이 가능 관련된 클래스를 논리적으로 묶어 코드의 캡슐화 증가 외부에서 내부 클래스에 접근이 안되기 때문에 코드의 복잡성을 줄임 📌 내부 클래스의 종류 내부 클래스는 클래스의 필드와 같이 선언된 위치에 따라 4가지로 구분됩니.. 2022. 1. 4.
[Java/자바] interface 인터페이스 사용법 ⚡️interface란 자바에서는 상속 기능으로 편리하게 부모 클래스의 기능을 물려받아 사용할 수 있습니다. 그리고 그 상속은 클래스로도 구현이 가능하지만 인터페이스를 통해 더 다양한 기능들을 구현 가능합니다. 인터페이스는 클래스와 굉장히 비슷하지만 둘을 구분 지을 몇 가지의 큰 특징이 있는데, 그중 특히 인터페이스는 클래스와 달리 다중 상속이 가능하다는 점을 알아두셔야 합니다. 그럼 인터페이스를 아래 순서대로 알아보겠습니다. 인터페이스의 선언 인터페이스의 구현 인터페이스의 다중상속 ⚡️interface 선언 인터페이스의 멤버로는 상수와 추상 메소드, default 메소드, static 메소드가 있습니다. 클래스와 달리 변수 생성이 불가능한 인터페이스는 필드 선언 시 아래와 같이 키워드를 생략해서 생성이.. 2022. 1. 1.
반응형

오픈 채팅