자바 6

[ 자바 / JAVA ] 출력 format(printf)

Java에서 출력할 때 System.out.printf() 메소드를 사용하여 특정 형식의 문자열을 출력할 수 있습니다. C언어에서의 printf() 함수를 사용하는 것과 사용 법은 비슷합니다. [ printf() ] public PrintWriter printf(String format, Object... args) System.out.printf("출력 format", 출력할 내용); format 설명 %s String 형식으로 출력 %d 정수 형식으로 출력 %n 줄바꿈 %f float 형식으로 출력 %t date, time 형식으로 출력 %o 8진수 정수의 형식으로 출력 %x 16진수 정수의 형식으로 출력 %b boolean 형식으로 출력 %e 지수 표현식의 형식으로 출력 [ 문자열 출력 예시 ] %..

[ 자바 / JAVA ] 함수형 프로그래밍과 람다식(Lambda Expression)

자바에서는 기능을 수행하기 위해 객체를 생성하고, 객체 내부에 멤버 변수와 메소드를 선언하여 사용하는 객체 지향 프로그래밍 방식입니다. 그러나 Java SE 8 부터는 함수형 프로그래밍 방식을 지원하게 되었습니다. 자바에서 제공하는 함수형 프로그래밍 방식을 "람다식(Lambda Expression)"이라고 합니다. 자바에서는 익숙하지 않은 개념이므로 하나씩 알아보도록 하겠습니다. [함수형 프로그래밍] 함수형 프로그래밍은 영어로 Functional Programming, 줄여서는 FP 라고 합니다. 함수형 프로그래밍은 순수 함수(매개변수만 사용하여 만드는 함수)를 사용하여 구현하고 호출하는 방식입니다. 이러한 방식은 함수 내부에서 외부 변수를 사용하지 않아서 side effect를 주지 않도록 구현하는 방..

[ 자바 / JAVA ] Wrapper Class(Wrapper 클래스)

"감싸다, 포장지"같은 뜻을 가진 wrapper라는 이름처럼 Wrapper 클래스는 "기본 자료형의 데이터를 감싸는 클래스" 입니다. 여기서 말하는 기본 자료형이랑 int, double, bool 등입니다. 그러면 기존에 있는 int, double 등을 사용하면 되는데 왜 Wrapper 클래스를 사용해야 될까요? 사용하는 목적과 특징을 살펴보도록 하겠습니다. [Wrapper 클래스를 사용해야하는 이유?] 사용 용도로는 객체로 저장해야 하는 경우나 매개변수로 객체가 요구되는 경우 객체 간의 비교가 필요한 경우 먼저 다음과 같은 메소드가 있다고 생각해 봅시다. public static void printData(Object obj){ System.out.println(obj); } 이 메소드를 이용하여 정수..

[ 자바 / JAVA ] 접근제어 지시자(Access Modifier)

클래스 외부에서 클래스의 멤버 변수, 메서드, 생성자를 사용할 수 있는지 여부를 지정하는 키워드입니다. [public] 클래스의 외부 어디서나 접근 할 수 있습니다. [private] 같은 클래스 내부에서만 접근 가능합니다.( 외부 클래스, 상속 관계의 클래스에서도 접근 불가) [default(아무 것도 없음)] 같은 패키지 내부에서만 접근 가능합니다. ( 상속 관계라도 패키지가 다르면 접근 불가) [protected] 같은 패키지나 상속관계의 클래스에서 접근 가능하고 그 외 외부에서는 접근 할 수 없습니다.

[ 자바 / JAVA ] final 키워드

final의 간단한 의미는 "초기 세팅 후 바꾸지 못하게 막는다" 정도로 해석할 수 있을 것 같습니다. C++의 const와 비슷한 역할을 합니다. 메소드, 클래스, 변수에도 각각 사용되었을 때의 용법을 정리해보았습니다. [클래스의 final] final class MyClass{ ... } MyClass를 상속하는 것을 허용하지 않습니다. String 클래스가 대표적인 final 클래스 입니다. [final 메소드] class A{ final void aFunc(int n){ ...} } aFunc 메소드의 오버라이딩을 허용하지 않습니다. "A" 클래스는 상속은 가능하지만 A클래스는 상속받은 하위 클래스에서는 aFunc 메소드를 오버라이딩이 불가능합니다. [변수의 final] // 선언과 함께 초기화 ..

[ 자바 / JAVA ] 자바 가상 머신(JVM)과 자바 프로그램 실행

자바 가상 머신(Java Virtual Machine) 자바 가상머신도 운영체제 위에서 동작을 하는 프로그램을 실행하는 일종의 소프트웨어입니다. 작성한 자바 프로그램을 운영체제가 실행하는 것이 아닌 자바 가상머신이 실행합니다. 다시 말하면 자바 프로그램과 운영체제 사이에서 자바 가상머신이 중개자 역할을 하는 것 입니다. [ JVM의 구조 및 기능 ] 위에서 언급 한 것 처럼 자바 가상 머신이 자바 프로그램을 실행하므로 어떤 운영체제에서도 실행이 가능합니다. 또한 프로그램 메모리를 관리하고 최적화하는 기능을 가지고 있습니다. (Garbage Collector) JVM은 Class Loader, Runtime Data Areas, Execution Engine 3가지로 크게 구성되어 있습니다. Class L..