JVM은 Java Virual Machine의 약자로 직역하자면 자바 가상 머신이다. JDK와 JRE의 차이
타입 추론, var
연산의 결과로 boolean 자료형을 반환한다instsanceof 연산자는 참조 변수가 참조하고 있는 인스턴스의 타입을 알아보기 위해 사용되고 주로 조건문에서 사용된다. 형변환이 가능하면 true 불가하면 false를 반환한다변수에 값을 할당할 때 사용되는 연산자이다.
4. 제어문 4.1. 조건문 4.1.1 if ~ else 문 if ~ else 문은 관계 연산자나 논리 연산자를 활용하여* boolean 결과 값을 반환하는 조건식에 따라 실행의 흐름이 달라진다*. 아래의 형태가 가장 기본적인 if ~ else 문을 활용한 조건문이다.
5.5 this 키워드 이해하기
6 상속 6.1 자바 상속의 특징 상속이란 한 클래스가 다른 클래스의 상태(State)와 행위(Behavior)을 활용해 새로운 클래스를 정의하는 것 의미한다. 이는 캡슐화, 추상화와 더불어 객체 지향 프로그래밍을 구성하는 중요한 특징 중 하나입니다. 그리고 재밌는 점으로 모든 자바의 클래스는 Object 클래스를 조상으로 가지고 있다. 다시말해 모든 자바...
패키지란 프로젝트 내부의 클래스들을 구분짓는 폴더 개념실행은 패키지의 최상위 디렉토리인 root에서 진행소스 코드 당 가장 첫 줄에 위치패키지 이름과 현재 폴더의 이름이 같아야 한다패키지 이름을 java 로 시작하면 안된다.(java 내장 패키지)완전한 클래스 이름은
인터페이스는 객체와 외부의 상호 작용을 추상화한 것이라 보면 된다. 즉, 인터페이스는 기본적으로 추상 메서드의 집합이며 구현 클래스는 동작을 구현하는 것으로 상호 작용을 정의한다.이때 각 메서드는 추상 메서드이지만 인터페이스 안에 있어서 public만 명시해줘도 pub
먼저 에러와 예외의 개념에 대해서 정리해야 할 것 같다. 위의 다이어그램 처럼 사실 우리는 프로그램에서 문제가 발생하면 에러가 났다고 얘기를 한다. 하지만 문제가 어떻게 발생했는지에 따라 에러와 예외로 나누어서 얘기할 수 있다. 우선 에러는 시스템에 비정상적인 상황이
프로세스는 윈도우에서 작업관리자를 사용하면서 흔히 봤을 용어인데 쓰레드는 낯선 사람들이 많을 것이다. 하지만 쓰레드에 대한 개념을 얘기하려면 프로세스를 먼저 이해해야 한다.
열거형은 쉽게 말하자면 일종의 상수 집합이다. 그리고 이러한 열거형은 다른 언어들에서도 쉽게 찾아볼 수 있다. 하지만 자바의 enum 은 다른 언어에서 제공하는 enum과 다른 점이 있다.
어노테이션( @ )은 자바로 프로그래밍을 하다 보면 생각보다 자주 접하게 된다. 이전 포스트에서 메서드 오버라이딩을 다룰 때도 본적이 있다.이렇게 보면 어노테이션은 일종의 설명이나 주석 같은 느낌인데 일반적인 주석과는 달리 "메타데이터"라고 불린다. 메타데이터란 애플리
자바에서 입력과 출력에 대해 알기 위해서는 스트림과 버퍼에 대한 설명이 필요하다.
제네릭(Generic)이란 단어가 가진 뜻은 "일반적인"이다. 그리고 JDK 1.5 에 도입된 제네릭도 이 "일반적인"에 해당하는 역할을 하고 있다. 아래의 예시를 보자위는 자바에서 정수 타입의 동적 배열을 초기화하는 방법이다. 그리고 아래의 예시를 한번 보자.우리는
람다식은 Java 8 에서 추가된 내용이며 가장 큰 변화로서, 함수형 프로그래밍(Functional Programming)을 지원한다. 이전까지, 메소드만 단독으로 선언이 불가하였다. 그리고 자바에서 메소드는 일급객체(First-class Citizen)
자바에는 다른 언어들과 다르게 '리플렉션'이라는 것이 있다. 리플렉션을 위한 클래스들은 java.lang.reflect 패키지에서 제공리플렉션을하면, 어떤 객체 또는 그 객체의 메소드가 속한 클래스와 관련한 정보를 알 수 있다.리플렉션을하면, 런타임에 접근제어자와 상관
동적 로딩(Dynamic Loading)이란 JVM을 기반으로 하는 언어들의 공통적인 특징이다.
이번 포스트에서는 어노테이션을 직접 만들어서 활용해보는 예제이다. 특히, Retention 이 Runtime 으로 리플렉션이 적용된 어노테이션을 만드는 것이 최종 목표이다.
Comparable< T >과 Comparator< T > 는 둘 다 Interface둘 다 제네릭, 객체 명시 필요Comparable의 compareTo()는 자기 자신을 기준으로 매개 객체 1개와 비교Comparator의 compare()는 자신과 상관없
이번 포스트는 JUnit 을 사용해 테스트를 작성하는 기초적인 방법에 대한 글이다. 이번 주제는 사실 기획과 서버 개발을 병행했던 경험에서부터 우러나온 개인적인 견해로부터 나왔다. "테스트"란 단어가 요즘 핫한 용어이긴 한데 그럴만한 이유가 있고, 꼭 필요한 지식이자