Programming

Programming/Java

[Java] I/O

0. Overview 알고리즘 관련 문제를 풀다가, 기본적인 입력을 받는 부분에서 조차 Java의 입출력 시스템에 대한 이해도가 부족하다고 생각하여 해당 글을 정리하게 되었습니다. 1. I/O 란 ? Input과 Output의 약자로 입출력을 의미합니다. 입출력의 간단한 예로 키보드로 텍스트를 입력하고, 모니터로 입력한 텍스트를 출력하는 것이 있습니다. 자바의 입출력은 Stream을 통해 이루어집니다. 1 - 1. Node 자바에서 입출력을 수행하는 대상 - 입력 노드 : 키보드, 마우스, 파일, 네트워크, 데이터베이스 등 - 출력 노드 : 모니터, 스피커, 파일, 네트워크, 데이터베이스 등 2. Stream 입력 또는 출력 데이터가 한 방향으로 끊임없이 전송되는 것 (출발지 노드 → 도착 노드) , 데..

Programming/Java

[Java] Java에서 Collection(컬렉션)이란 ?

Overview 컬렉션(Collection)은 많은 데이터 요소를 효율적으로 관리하기 위한 자료구조를 말하며, ArrayList, LinkedList, HashMap 등이 여기에 포함됩니다. 그리고 컬렉션들은 제네릭(Generic)으로 구현되어 있어 컬렉션과 함께 제네릭에 대해서도 알아보도록 하겠습니다. 1. Collection(컬렉션) ? 컬렉션(Collection)이란 많은 수의 데이터를 그 사용 목적에 적합한 자료구조로 묶어 하나로 그룹화한 객체를 말합니다. 자바에서는 이런 컬렉션을 위한 인터페이스와 클래스들이 있으며 자주 사용되는 클래스들의 상속 계층도는 아래 그림과 같습니다 ! 종류는 ArrayList, LinkedList, Vector, Stack , HashSet, TreeSet, TreeM..

Programming/Java

[Java] 인터페이스(Interface)란 ?

개요 "자바 인터페이스(Java Interface)는 무엇인가 ?" 이런 궁금증을 가지고 있는 Java Programmer가 많습니다. 물론 필자도 그렇습니다. 인터페이스가 어디에 어떻게 왜 쓰이는지 명확히 이해하는데에 어려움이 있었고 이를 정리하고자 글을 작성하게 되었습니다. "객체 지향 개발 5대 원칙 - SOLID"을 만족시켜준다. 라는 부분 때문에 인터페이스를 사용한다고 생각합니다. 그렇다면 왜 SOLID를 만족시켜야 하는가? 라는 궁금증이 생길텐데요. 서비스 애플리케이션의 라이프사이클을 "설계 / 개발 / 유지보수" 세 단계로 나누게 되면, 유지보수가 소프트웨어 라이프사이클에서 가장 큰 부분을 차지한다고 합니다. 유지보수에서 인터페이스(Interface)는 SOLID를 구현하고, 객체 지향 개발..

Programming/Java

[Java] String vs StringBuilder vs StringBuffer 차이점

개요 Java에서 String 클래스는 불변성을 갖습니다. 그래서 변하지 않는 문자열을 자주 사용하는 경우 좋은 성능을 기대할 수 있는데요, 하지만 문자열에 대한 변경이 자주 일어나는 프로그램에서 String만 사용하게 된다면 효율적인 성능을 기대하기 어렵습니다. 그래서 StringBuilder, StringBuffer를 사용하여 효율적인 성능을 보일 수 있습니다. 언제 StringBuilder와 StringBuffer를 사용하면 좋을지 살펴보도록 하겠습니다. String VS StringBuilder & StringBuffer Java에서 String 객체는 한번 값이 할당되면 그 공간은 변하지 않습니다. 하지만 StringBuilder나 StringBuffer 객체는 한번 값이 할당되더라도 한번 더 ..

엥재
'Programming' 카테고리의 글 목록 (5 Page)