필자는 프론트엔드를 공부 하고 있는데요. 그래서 여태 를 배우다가, 이번에 부트캠프를 하나 다니게 되면서 백엔드 언어인 를 또 배우게 되었습니다. > 그래서 해당 블로그의 섹션에는 와의 차이점을 예로 들어 의 특징에 대해 설명하려 합니다. 정적 언어로서의 자바
자바의 데이터 타입도 자바스크립트와 같이 기본형 타입 과 참조형 타입 이 존재하는데요. 다만 앞서 설명한대로 데이터의 타입과 크기에 따라 선언되는 데이터 타입의 종류 또한 달라지며, 각 데이터의 타입과 용량에 맞도록 적절한 범주의 그릇을 골라 담아야 하기 때문에 이를
1. 기본 타입 캐스팅 자바에서는 자바스크립트와는 반대 되는 정적 언어입니다. 즉 컴파일 단계에서 이미 데이터의 타입이 정확하게 지정되어 있어야만 오류 없이 런타임에서의 실행이 가능함을 의미하는데요. 그래서 자바에서의 자동 형 변환(타입 캐스팅)은 동적인 타입 캐스팅
자바의 변수 네이밍 규칙은 다음 문서를 참조하시기 바랍니다.
JAVA에서의 연산자 종류 및 사용 규칙은 해당 문서에서의 자바스크립트의 사용법과 비교 해볼때 타입 선언을 제외하고 다음의 몇 가지 차이점을 보인다는 점을 빼면 동일하다고 보시면 되겠습니다.자바스크립트는 동등 연산자(느슨한 비교 연산자) 와 일치 연산자(엄격한 비교 연
자바에서의 조건문은 자바스크립트의 조건문과 매우 유사한 형태를 띄고 있습니다. 다만 switch 문에서 선언되는 변수의 타입에 그 차이점을 들 수 있다는 점을 가지고 있습니다.자바스크립트의 switch문 자바의 switch문
자바에서의 반복문은 자바스크립트의 반복문과 매우 유사한 형태를 띄고 있습니다. 다만 for-of문 사용법에 그 차이점을 볼 수 있겠습니다.자바스크립트의 for-of문자바의 for-of문
자바에서는 자바스크립트와 마찬가지로 데이터의 타입을 크게 두 가지로 분류하고 있습니다. 기본 데이터 타입(primitive type)과 참조 데이터 타입(reference type)인데요. 큰 골자에서는 자바에서의 참조 데이터 타입 또한 자바스크립트와 크게 다를 바가
자바도 자바스크립트에서와 마찬가지로 큰 골자에서 본다면 공통적으로 객체를 이용해 다양한 데이터들의 집합을 효율적으로 관리합니다. 그러나 세세하게 살펴보면 다른 점들을 찾아볼 수 있습니다.자바스크립트의 객체는 프로토타입 기반 프로그래밍 방식을 따르는 반면, 자바의 객체는
앞서 살펴본 자바에서의 클래스를 이용한 객체 생성 요소에는 기본적으로 필드(field), 생성자(constructor), 메서드(method) 세 가지로 구성되며 자바스크립트의 class를 이용한 객체 생성과도 유사합니다. 각각의 요소들의 특징은 다음과 같습니다.필드(
1. 접근 제한자의 뜻 접근 제한자란 요소의 접근을 제한하는 키워드를 의미하며, 주로 객체의 캡슐화, 보안 유지, 유지 보수 등의 목적으로 활용되는데요. 자바에서의 접근 제한자는 총 네 가지가 존재하며, 각 접근 제한자에 따라 접근 될 수 있는 레벨(범위)가 달라집니
클래스 및 객체 내의 멤버들은 앞으로 설명할 접근 제한자에 따라 외부에서 접근하는대에 제한이 있는데요. 이때 사용되는 것이 바로 getter와 setter 메서드 입니다. 이 두 메서드는 따로 존재하는 라이브러리 키워드는 아니고, 사용자가 지정을 하게 되는 메서드를 의
1. 상속이란? 사전적 의미로는 일정한 친족 관계가 있는 사람 사이에서 재산상의 권리·의무 일체를 이어받는 일을 의미하는데요. 객체 지향 개념에서의 상속이란 기존의 클래스에 기능을 추가하거나 재정의하여 새로운 클래스를 정의하는 것을 의미합니다. 상속을 이용하면 굳이
자바에서 변하지 않는 값을 담는 변수를 지정할 때, 혹은 상속이 되지 않는 클래스나 메서드를 지정할 때 final 키워드를 사용합니다. 마치 자바스크립트에서 변수를 상수로 만드는 const 키워드나 객체를 더 이상 수정할 수 없게 만드는 freeze 메서드처럼 말이죠.
앞선 챕터에서는 자바에서의 기본적인 상속과 사용법, 특징들에 대해서 살펴보았는데요. 이번 챕터에서는 상속을 보다 용이하게 해주는 전용 클래스인 추상 클래스 에 대해서 살펴보도록 하겠습니다.추상 클래스는 앞서 소개한 부모 클래스의 기준이 되는 클래스로서 해당 클래스를 상
봉인된 클래스란 하위 클래스들에 의한 상위 클래스의 무분별한 남용을 방지하고자 Java 15부터 도입된 클래스로, 상위 클래스에서 지정한 하위 클래스만 해당 상위 클래스를 상속받도록 할 수 있는 기능입니다.사용법은 접근 제한자의 뒷부분에 sealed 키워드를 작성해준
자바에서 클래스의 상속은 주로 단일 상속을 지원합니다. 가령 A라는 상위 클래스와 B라는 상위 클래스가 있다면 C라는 하위 클래스는 A와 B 둘 중 하나만을 상속할 수 있는거죠.그렇다고 다중 상속을 구현할 수 없는 것은 아닙니다. 인터페이스 객체를 여럿으로 상속 받는
자바를 실행하다보면 컴파일 단계에서 의도치 않은 오류가 발생할 수 있는데요. 이때 해당 오류가 발생될 때 사용자가 다른 작업을 수행하도록 코드를 구현할 수 있는데, 이를 예외 처리라고 합니다. 이러한 예외 처리는 기본적으로 try, catch, finally 세 가지
1. 표준 제공 라이브러리 클래스들 앞서 말씀드린 대로 자바에서는 사용자들에게 표준 라이브러리들을 제공하는데, 우리는 이 라이브러리에 수록되어 있는 클래스들로 보다 유용한 코드 작성이 가능합니다. 이러한 자바에서 기본적으로 제공해주는 라이브러리들은 해당 사이트에서 검
1. 기본 타입인 문자와 다른 String 클래스 이전에는 기본 데이터 섹션에서와 참조 데이터 섹션을 이 둘의 차이점을 설명해 보았는데요. 그리고 이를 잘 설명할 수 있는 타입들은 (기본 데이터 타입)와 (참조 데이터 타입)인데, 이 섹
쉽게 얘기하면 타입 변환으로 볼 수 있는데요. 기본 데이터 타입을 참조 데이터 타입으로 (박싱), 다시 참조 데이터 타입을 기본 데이터 타입으로(언박싱) 변경하면서 상황에 맞는 데이터 값 사용이 가능합니다. 이러한 래핑 클래스는 자바스크립트에서의 래퍼 객체와도 비슷한
자바스크립트에서와 마찬가지로 자바 또한 숫자 클래스인 Math 클래스를 가지고 있는데요. 대부분의 사용법은 거의 똑같으나, Random 메서드를 사용하는 방식에서 그 차이점을 가집니다.Java에서의 Random 메서드 사용법Javascript에서의 Random 메서드
어노테이션이란 자바와 같은 몇몇 프로그래밍 언어에서 제공하는 메타데이터(metadata)의 한 형태인데요. 클래스나 인터페이스를 컴파일 및 실행할 때 처리 방법을 알려주는 설정 정보를 의미하며, HTML의 메타데이터와 유사한 역할을 수행합니다.이러한 어노테이션은 자바
제네릭은 정적 타입 방식으로 코드를 구현하는 자바에서 중요한 역할을 수행하며, 간단히 얘기하면 아직 정해지지 않은 클래스의 타입을 대체하는 수단 으로 정리할 수 있습니다.우선 클래스에 제네릭 타입을 지정하는 방법은, 해당 클래스의 뒷부분에 다이아몬드 연산자(<>
자바에서 제공하고 있는 배열은 자바스크립트의 배열과 다르게 그 한계점을 명확히 드러내고 있는데요. 고정적인 길이, 동일한 데이터 타입만 저장, 요소의 검색 및 삭제, 추가 기능의 제한 등의 생각보다 비효율적인 모습도 가지고 있습니다.그래서 자바에서는 이러한 자료 구조의
우선 트리(tree)란 각 노드(데이터)가 나무의 뿌리 형태로 하향 구조화 된 알고리즘을 의미하는데요. 이때 각 부모 노드는 최대 두 개의 자식 노드를 가질 수 있는 구조가 바로 이진 트리(binary Tree) 입니다. 이러한 이진 트리의 특성을 활용해 기존의 Has
LIFO는 Last In First Out 의 약자인데요. 마지막에 넣은 요소가 먼저 나간다는 의미로, 위는 뚤려있고 아래는 막혀있는 통에 위에서 아래로 요소들을 순차적으로 적재하는 모습을 생각하시면 되는데요. 반면 FIFO는 First In First Out의 약자로
1. 멀티 프로세스와 멀티 스레드 여기 PC가 한 대 있습니다. 이 PC는 프로그램을 하나만 돌릴 수 있습니다. 그리고 이 프로그램은 단 하나의 작업만을 수행할 수 있죠. 이를 와 라고 합니다. 프로세스를 프로그램, 스레드를 작업에 비유 한 것이고요. 그렇다면 ? 네
1. 람다식이란? 이란 함수(함수형 인터페이스의 추상 메서드가 대표적) 를 간결하고 쉽게 표현 할 수 있도록 자바 8부터 구현된 함수 선언 방식인데요. 자바스크립트의 화살표 함수와도 유사한 역할을 하는 이 람다식은 즉 함수형 인터페이스에서 추상 메서드를 오버라이딩
1. 컬렉션의 반복 처리 방법 앞서 소개해드린 컬렉션에서 , , 클래스의 배열 순회는 for문 혹은 enhanced-for문, [iterator](https://velog.io/@re_go/JAVA-18-1
1. 기본 테이블 생성 일단 이클립스에 JDBC를 설계하기 위해서는 데이터를 받아올 테이블을 생성해야 하는데요. 오라클과 클라이언트 툴이 설치되어 있다고 가정했을 때 다음과 같은 구문으로 테이블을 생성합니다. 참고로 다음 예제 코드들은 해당 강의를 참조하여 작성했습
다음으로 할 작업은, 이클립스에 JDBC 드라이버를 다운로드 해준 후 해당 드라이버를 우리가 구축한 Oracle DB와 연동해 주어야 하는데요. 해당 강의 에서 jar 파일 다운로드 및 저장을 알려주고 있기 때문에, 여기서는 이클립스에 작성할 JDBC 코드 하나 하나를
앞선 예제에서 구축하고 연결한 JDBC에서 SQL 구문을 작성해 DB를 조작하는 것이 가능한데요. 이번 섹션에는 다음 강의를 토대로 데이터를 저장하는 방법을 좀 더 심도 있게 알아볼까 합니다. 앞서 존재하는 테이블에 값을 입력하려면 다음과 같은 sql 구문으로 작성할
JDK는 Java Delopement Kit의 준말로, 사용자가 컴퓨터에서 JDK를 이용해 자바 언어를 작성하도록 도와주는 일종의 패키지인데요.대표적인 다운로드 경로는 오라클 사이트에서 다운로드가 가능하며, 설치된 JDK 압축을 해제하면 나오는 폴더를 환경 변수 등록
1. 형 변환이란? 4. 자동 타입 변환 자바에서는 하위 클래스가 상위 클래스를 상속 받을 때 타입도 자연스럽게 상위 클래스의 타입으로 지정되는데요. 예를 들어 Parent를 상속 받는 클래스 Me 클래스가 있다고 할 때 비교 연산자를 이용하여 비교를 해보면 두 관
1. Calendar Calendar 클래스는 뒤에 소개할 Date 클래스와 마찬가지로 시스템의 시간이나 사용자가 정의하는 시간을 표현할 수 있게 해주는 클래스입니다. 특히 Calendar는 날짜와 시간의 특정 부분을 클래스가 제공하는 메서드로 임의 변경 하는 것도 가
자바에서는 데이터 전송을 위해 DTO(Data Transfer Object)라는 개념을 가지고 있는데요. 이는 다양한 계층 간 데이터 전달의 효율성을 목적으로 극대화 하기 위해 사용되는 클래스 틀을 의미하는데요. 물론 자바에는 DTO만 있는건 아니고, VO(Value