📕🐘 도로락 - 코끼리를 냉장고에 넣는 방법

# 자바[Java] (47)

자바[Java] 2018. 7. 9. 01:36

[Java] java.io.File 클래스 [1] File 클래스 개념 및 생성 방법

관련글[운영체제] File System이란? 파일시스템 및 파일(FIle)에 대한 설명java.io.File 클래스File 클래스는 자바 입출력과 관련된 패키지인 java.io 패키지에 속해 있는 클래스이며, 디스크에 존재하는 파일에 대한 정보를 얻거나 파일을 새로 생성하거나 제거하기 위한 기능을 하는 클래스입니다. 그러나 File 클래스는 실제 파일의 내용은 조작할 수 없으며, 파일에 대한 정보 즉 메타 데이터(생성 날짜, 권한, 수정일, 경로, 파일명, 소유자 등)를 다루기 위해 추상화된 클래스라고 볼 수 있습니다.파일을 추상화한 클래스라고 했는데 추상화라고 표현한 이유는 파일은 파일 시스템에 따라서 다른 의미를 갖기 때문입니다. 파일 시스템이란 파일을 관리하는 체계(또는 방법)을 의미하며, 예를 들..

자바[Java] 2018. 7. 7. 22:00

[JAVA] Java I/O(입출력) [1] 입출력 및 스트림 개념

I/O(Input/Output, 입출력)I/O는 Input/Output의 약자로 즉 입출력을 의미하며, 소프트웨어 측면에서의 데이터를 입력(입력받음)하거나 출력(외부로 출력함)하는 것을 의미합니다. 헷갈릴 수 있겠지만 내 자신(내가 개발하는 어플리케이션)을 기준으로 입력이라 함은 외부로부터 데이터를 입력 받는 것을 의미하며, 출력이라 함은 내 자신이 어플리케이션 이외의 외부 특정 대상에게 데이터를 출력하는 것을 의미합니다.가장 간단한 예로 System.in 객체는 표준 입력을 다룰 수 있는 객체로 키보드로부터 입력을 담당하는 객체이고 System.out 객체는 표준 출력을 다룰 수 있는 객체로 콘솔로 데이터를 출력할 수 있는 기능을 가지고 있습니다. 자바를 배울 때 가장 처음 배우게 되는 Hello Wo..

자바[Java] 2018. 6. 28. 10:00

[JAVA] Java 명령행 매개변수(args 배열)값 넘기면서 실행하기 (String[] args에 대하여)

JAVA의 main() 메서드자바 프로그램의 시작지점(Entry point)은 main() 메서드입니다. main() 메서드는 프로그램의 시작점이기 때문에 반드시 main() 메서드를 구현한 public class가 하나는 있어야 합니다. main() 메서드는 프로그램의 흐름을 최초로 시작하는 메인 스레드이기도 합니다.main 메서드의 선언부 규칙은 다음과 같습니다.public static void main(String[] args) { ..프로그램 시작..}그런데 main 메서드가 받는 인자값으로 String 배열을 받고 있습니다. 이 String 배열은 콘솔 명령행을 통해 프로그램이 시작될 때 추가적으로 넘겨받는 값들을 저장하는 배열입니다. 문자열은 숫자와 문자 모두 표현이 가능하니 String..

자바[Java] 2018. 5. 10. 03:30

[JAVA] Hello World 프로그램 분석

이전글[JAVA] 자바 첫 번째 프로그래밍 Hello World 출력 코딩하기Hello World 프로그램 분석이전글에서 작성했던 Hello World 프로그램을 분석해 보겠습니다.하나하나 깊이 들어가면 매우 많은 것을 알아야 하므로 필수 규칙들만을 기준으로 설명합니다.처음에는 궁금증에 도대체 이게 뭘까? 왜? 어째서? 라는 좋은 의문을 품을 수 있으나 너무 연연하기보다는 하나하나 지금 당장 중요한 것부터 알아가는 것이 더욱 빠를 수 있습니다.이전에 설명했듯 자바는 객체지향 언어이며, 객체는 class라는 설계도를 기준으로 만들어집니다.따라서 모든 자바 소스는 클래스 단위로 작성됩니다.클래스(class)class는 객체의 상태를 나타내는 필드, 객체의 행동을 나타내는 메서드로 이루어집니다.여기서 클래스는..

자바[Java] 2018. 5. 10. 00:30

[JAVA] 자바 첫 번째 프로그래밍 Hello World 출력 코딩하기

이전글[JAVA] JAVA 설치 및 환경 세팅하기[JAVA] 자바 언어의 특징자바 첫 번째 프로그래밍개발자의 길을 걷는다면 어떤 언어를 배울 때 개발환경 설정 이후 가장 처음 사용하는 마법의 주문이 있습니다. 바로 "Hello World" 입니다. 이런 관례 혹은 마법의 주문이 어떻게 해서 생겨난 것인지는 모르겠으나 저의 경우는 흥미롭다고 생각되는 부분입니다.이 글에서는 자바 언어로 Hello World를 출력하는 프로그램을 간단하게 작성해 볼 것입니다.진부하고 재미 없더라도 순조롭게 이해하면서 이 글을 따라오기 위해서는 이전글들을 읽고 와주시기 바랍니다.Class 작성하기자바 언어는 객체지향 언어이며, 객체를 만들기 위해서는 class가 필요하므로 자바 프로그램의 모든 것은 클래스 단위로 작성 됩니다...

자바[Java] 2018. 2. 15. 17:00

[JAVA] 자바 언어의 특징

이전글[JAVA] 자바의 탄생 및 역사자바 언어의 특징기술의 발전이 나날이 빨라지고, 새로운 기술들이 지금 이 시간에도 우후죽순으로 생겨나고 있습니다. 때문에 우리는 그 중 필요에 따라 기술을 선택해야 하며, 어떠한 기술을 어떻게(HOW) 사용하는지도 중요하지만 그보다 왜(WHY) 사용해야 하는가에 집중할 필요가 있습니다.한 때 전성기를 맞이했던 자바언어는 현재 10%대의 언어 점유율로 점점 그 힘을 잃어가는 언어이지만 그럼에도 불구하고 점유율이 1위인 언어임에는 틀림없고 유독 우리나라에서는 자바 언어 점유율이 말도 안되게 높기 때문에 밥벌이? 를 위해서 어쩔 수 없이 배워야 하는 현실도 존재합니다.다시 본론으로 돌아가 어떤 기술을 왜 배워야 하는지를 판단하기 위해서는 그 기술의 특징을 알아둘 필요가 있..

자바[Java] 2017. 12. 29. 13:00

[JAVA] 사용자 정의 예외

사용자 정의 예외규모 있는 어플리케이션을 개발하다 보면 표준 API에서 제공하는 예외 클래스만으로는 표현하기 힘든 예외들이 있습니다. 예를 들어 회원가입 기능을 구현하기 위해서는 중복확인 API를 구현하게 됩니다. 이때 입력한 아이디가 이미 존재하는 경우 표준 API의 어떤 예외를 발생시켜야 할까요? 이럴 때에 UserAlreadyExistException 같은 예외를 만들어서 던지게 된다면 내가 개발한 API를 다른 개발자가 사용하는 데에 있어서 많은 정보를 얻을 수 있을 것입니다.또한 서버환경이라면 문제가 발생했을 때 표준 API에서 제공하는 예외를 돌려쓰는 것보다 구체적인 정보를 담고 있는 예외를 정의하여 던지게 해 놓았을 때 서버 콘솔이나 로그파일을 보고 한눈에 알아볼 수 있을 것입니다.사용자 정..

자바[Java] 2017. 12. 29. 06:00

[JAVA] 자바 예외를 발생시키는 방법 - throw

예외를 발생시키는 이유예외를 발생시키는 이유는 정보를 주기 위함입니다. 만약 예외라는 개념 자체가 없다면 어떻게 될까요?만약 자바에 예외란 개념이 없는 상태에서 다음과 같이 문자열 비교연산을 하려는데 name에 객체의 참조값이 할당되지 않아 null을 참조하게 되었습니다.그러나 예외라는 개념이 없기때문에 JVM은 별다른 행동을 하지 않고 프로그램을 종료시켜 버렸습니다.만약 대기업의 쇼핑몰 서버를 개발했는데 회원 이름을 비교하다가 위와 같은 상황이 발생했다면 서버는 비 정상적으로 종료되었을 것이지만 해당 서버를 개발한 개발자는 어떠한 정보나 로그를 찾을 수 없을 것입니다.name.equals("kim chul soo"); //NullPointerException이 발생 되어야 함위와 같이 JVM에서는 표준..

자바[Java] 2017. 12. 28. 19:41

[JAVA] 자바 예외 떠넘기기 - throws

예외 떠넘기기 - throws 사용메서드 내부에서 예외가 발생했을 때 예외를 try - catch 문으로 잡아서 처리할 수 있지만 경우에 따라서 현재 메서드를 호출한 메서드로 예외를 떠넘길 수 있습니다.예외를 떠넘기는 방법은 다음과 같이 throws 키워드를 메서드 뒤에 붙여주면 됩니다.public static void generateException() throws NullPointerException{ //NullPointerException 발생}만약 떠넘겨야할 예외 종류가 여러개라면 쉼표(,) 를 기준으로 나열하여 선언합니다.public static void generateException() throws NullPointerException, ArithmeticException{ //..

자바[Java] 2017. 12. 19. 18:00

[JAVA] 자바의 탄생 및 역사

알아두면 좋은 자바의 탄생 및 역사자바는 1990년 말 GE(General Electric)사가 대화식 TV와 가전제품에 쓰일 소프트웨어를 썬마이크로시스템즈에 의뢰하게 되면서부터 역사가 시작됩니다. 썬마이크로시스템즈의 엔지니어인 제임스 고슬링 과 동료들은 1991년 가전제품에서도 돌아 갈 수 있는 언어인 'Oak' 언어를 개발합니다.이후 Oak는 그린 프로젝트로 전환 후 웹 프로그래밍에 사용할 수 있도록 개선 되었고 1996년 이름을 자바 커피에서 따온 'JAVA' 라는 이름으로 1.0 버전을 발표하지만 1995년 ~ 1999년까지 윈도우(Window) 프로그램이 대세였기 때문에 C++언어에 비해서는 점유율이 매우 떨어졌습니다.특히 객체지향적 패러다임에 JVM이란 가상머신까지 사용하는 자바는 메모리와 C..