본문 바로가기

분류 전체보기131

JAVA / 인터페이스 1. 인터페이스란? 인터페이스는 일종의 추상클래스다. 인터페이스는 추상클래스처럼 추상메서드를 갖지만 추상클래스보다 추상화 정도가 높아서 추상클래스와 달리 몸통을 갖춘 일반 메서드 또는 멤버변수를 구성원으로 가질 수 없다. 오직 추상메서드와 상수만을 멤버로 가질 수 있으며, 그 외의 다른 어떠한 요소도 허용치 않는다. 앞서 추상클래스를 '미완성 설계도'라고 하였는데, 인터페이스는 구현된 것은 아무 것도 없고 밑그림만 그려져 있는 '기본 설계도'라고 할 수 있다. 인터페이스도 추상클래스처럼 완성되지 않은 불완전한 것이기 때문에 그 자체만으로 사용되기 보다는 다른 클래스를 작성하는데 도움 줄 목적으로 작성된다. 2. 인터페이스의 작성 인터페이스를 작성하는 것은 클래스를 작성하는 것과 같다. 다만 키워드로 cl.. 2020. 5. 24.
읽기 전용 테이블로 전환하기 *읽기 전용 테이블로 바꾸는 명령 읽기전용으로 테이블을 바꾸고 컬럼을 추가하려고 시도하면 오류가 뜬다. 컬럼을 추가하고 싶다면 테이블을 다시 읽기/쓰기 모드로 변경해주어야한다. *읽기/쓰기 전용으로 테이블 바꾸는 명령 2020. 5. 7.
DELETE, TRUNCATE, DROP 비교 *TRUNCATE 명령 *DROP 명령 2020. 5. 7.
컬럼 조작 *새로운 컬럼 추가하기 *컬럼 추가하면서 기본값 지정하기 *테이블의 컬럼 이름 변경하기 *컬럼의 데이터 크기 조정하기 *컬럼 삭제하기 2020. 5. 7.
테이블 복사하기(CTAS) *모든 컬럼 다 복사하기 *특정 컬럼만 복사하기 *테이블의 구조(컬럼)만 가져오고 데이터 안가져오기 2020. 5. 7.
오라클 SQL / Global Temporary Table(임시 테이블) *임시테이블 Oracle 8 버전부터 등장 실제 데이터를 저장하지 않고 테스트 등 임시 용도로 사용 리두 데이터 생성 안 해서 속도 빠름 작업 마치면 데이터를 자동으로 지우게 됨 세션 별로 만들어져서 다른 사용자의 데이터를 볼 수 없음 2020. 5. 7.
오라클 SQL / DDL, DML , DCL , TCL *DDL(Data Definition Language) - 데이터 정의 - 데이터베이스를 정의하는 언어이며, 데이터를 생성, 수정, 삭제하는 등의 데이터의 전체의 골격을 결정하는 역할을하는 언어이다. CREATE(생성) ALTER(수정) TRUNCATE(잘라내기) DROP(삭제) *DML(Data Manipulation Language) - 데이터 조작어 - 정의된 데이터베이스에 입력된 레코드를 조회하거나 수정하거나 삭제하는 등의 역할을 하는 언어이다. INSERT(입력) - 어떤 분류에서는 DQL(Data Query Language)라고 하기도 한다. UPDATE(변경) DELETE(삭제) MERGE(병합) *DCL(Data Control Language) - 데이터 제어어 - 데이터베이스에 접근하거나.. 2020. 5. 7.
오라클 SQL / 뷰(VIEW) *VIEW란? 뷰는 하나 이상의 테이블을 합하여 만든 가상의 테이블이다. - 특징 편리성 : 미리 정의된 뷰를 일반 테이블처럼 사용할 수 있기 때문에 편리하다. 또 사용자가 필요한 정보만 요구에 맞게 가공하여 뷰로 만들어 쓸 수 있다. 재사용성 : 자주 사용되는 질의를 뷰로 미리 정의해 놓을 수 있다. 보안성 : 각 사용자별로 필요한 데이터만 선별하여 보여줄 수 있다. 중요한 질의의 경우 질의내용을 암호화할 수 있다. *VIEW 생성 *VIEW 수정 *VIEW 삭제 2020. 5. 6.
오라클 SQL / 부속질의 *부속질의(subquery)란 하나의 SQL문 안에 다른 SQL문이 중첩된(nested) 질의를 말한다. 다른 테이블에서 가져온 데이터로 현재 테이블에 있는 정보를 찾거나 가공할 때 사용한다. 보통 데이터가 대량일 때 데이터를 모두 합쳐서 연산하는 조인보다 필요한 데이터만 찾아서 공급해주는 부속질의가 성능이 더 좋다. 주질의(main query, 외부질의)와 부속질의(sub query, 내부질의)로 구성된다. *부속질의 종류 스칼라 부속질의 - SELECT 부속질의 인라인 뷰 -FROM 부속질의 중첩질의 - WHERE 부속질의 *스칼라 부속질의(SELECT 부속질의) SELECT절에서 사용되는 부속질의로, 부속질의의 결과 값을 단일 행, 단일 열의 스칼라 값으로 반환한다. 스칼라 부속질의는 원칙적으로 스.. 2020. 5. 6.
오라클 SQL / ROWNUM *ROWNUM 내장 함수는 아니지만 자주 사용되는 문법 오라클에서 내부적으로 생성되는 가상 컬럼으로 SQL조회 결과의 순번을 나타냄 자료를 일부분만 확인하여 처리할 때 유용 2020. 5. 6.
오라클 SQL / 인덱스(INDEX) *인덱스란 도서의 색인이나 사전과 같이 데이터를 쉽게 빠르게 찾을 수 있도록 만든 데이터 구조이다. *인덱스의 특징 인덱스는 테이블에서 한 개 이상의 속성을 이용하여 생성함 빠른 검색과 함께 효율적인 레코드 접근이 가능함 순서대로 정렬된 속성과 데이터의 위치만 보유하므로 테이블보다 작은 공간을 차지함 저장된 값들은 테이블의 부분집합이 됨 일반적으로 B-tree형태의 구조를 가짐 데이터의 수정, 삭제 등의 변경이 발생하면 인덱스의 재구성이 필요함 *오라클 B-tree 인덱스 오라클 인덱스는 B-tree를 변형하여 사용한다. *오라클 인덱스의 종류 B-Tree인덱스 - 오라클에서 사용하는 기본적인 인덱스, 하나의 리프노드는 하나의 데이터에 대응 ex) CREATE INDEX t_ix ON T(key1); I.. 2020. 5. 6.
오라클 SQL / NULL *NULL값이란 아직 지정되지 않은 값 NULL값은 '0', "(빈 문자), ' '(공백)등과 다른 특별한 값 NULL값은 비교 연산자로 비교가 불가능함 NULL값의 연산을 수행하면 결과 역시 NULL값으로 반환됨. *NULL값을 확인하는 방법 - IS NULL, IS NOT NULL NULL값을 찾을 때는 '=' 연산자가 아닌 'IS NULL'을 사용 NULL이 아닌 값을 찾을 때는 ''연산자가 아닌 'IS NOT NULL'을 사용함 *집계 함수를 사용할 때 주의할 점 'NULL+숫자' 연산의 결과는 NULL 집계 함수 계산 시 NULL이 포함된 행은 집계에서 빠짐 해당되는 행이 하나도 없을 경우 SUM, AVG함수의 결과는 NULL이 되며, COUNT함수의 결과는 0 *NVL : NULL값을 다른 값.. 2020. 5. 6.
JAVA / 추상클래스 1. 추상클래스란? 클래스를 설계도에 비유한다면, 추상클래스는 미완성 설계도에 비유할 수 있다. 미완성 설계도란, 단어의 뜻 그대로 완성되지 못한 채로 남겨진 설계도를 말한다. 클래스가 미완성이라는 것은 멤버의 개수에 관계된 것이 아니라, 단지 미완성 메서드(추상메서드)를 포함하고 있다는 의미다. 미완성 설계도로 완성된 제품을 만들 수 없듯이 추상클래스로 인스턴스는 생성할 수 없다. 추상클래스는 상속을 통해서 자손클래스에 의해서만 완성될 수 있다. 추상클래스 자체로는 클래스로서의 역할을 다 못하지만, 새로운 클래스를 작성하는데 있어서 바탕이 되는 조상클래스로서 중요한 의미를 갖는다. 새로운 클래스를 작성할 때 아무 것도 없는 상태에서 시작하는 것보다는 완전하지는 못하더라도 어느 정도 틀을 갖춘 상태에서 .. 2020. 5. 4.
JAVA / 다형성(polymorphism) 1. 다형성이란? 상속과 함께 객체지향개념의 중요한 특징 중의 하나인 다형성에 대해서 배워 보도록 하자. 다형성은 상속과 깊은 관계가 있으므로 학습하기에 앞서 상속에 대해 충분히 알고 있어야 한다. 객체지향 개념에서 다형성이란 '여러 가지 형태를 가질 수 있는 능력'을 의미하며, 자바에서는 한 타입의 참조변수로 여러 타입의 객체를 참조할 수 있도록 함으로써 다형성을 프로그램적으로 구현하였다. 이를 좀 더 구체적으로 말하자면, 조상클래스 타입의 참조변수로 자손클래스의 인스턴스를 참조할 수 있도록 하였다는 것이다. 아래 코드를 보자. class Tv { boolean power; // 전원상태(on/off) int channel; // 채널 void power() { power != power; } void.. 2020. 4. 24.
JAVA / 제어자 1. 제어자란? 제어자는 클래스, 변수 또는 메서드의 선언부에 함께 사용되어 부가적인 의미를 부여한다. 제어자의 종류는 크게 접근 제어자와 그외의 제어자로 나눌 수 있다. 접근 제어자 : public, protected, default, private 그 외 : static, final, abstract, native, transient, synchronized, volatile, strictfp 제어자는 클래스나 멤버변수와 메서드에 주로 사용되며, 하나의 대상에 대해서 여러 제어자를 조합하여 사용하는 것이 가능하다. 단, 접근 제어자는 한 번에 네 가지 중 하나만 선택해서 사용할 수 있다. 즉, 하나의 대상에 대해서 public과 private을 함께 사용할 수 없다는 것이다. 💡 참고 제어자들 간의 .. 2020. 4. 22.
JAVA / 컬렉션 프레임워크(JCF)와 동기화(SynChronization) *동기화 컬렉션 프레임워크에 대해 공부하기에 앞서 동기화가 컬렉션과 밀접한 관계에 있기에 동기화를 간단히 짚고 본론으로 들어가보자. 동기화란 작업들 사이의 수행시기를 맞추는 것을 말한다. 자바에서 List, Set 그리고 Map과 같은 컬렉션의 구현 클래스를 사용할 때 바로 이 동기화가 중요한 이슈가 될 수 있는데, 동기화가 제공되는 것이 무조건적으로 좋은 것이 아니라 실행 속도 측면에서 성능의 차이가 있기 때문에 상황에 따라서 적절하게 사용하는 것이 좋다. *자바 컬렉션 프레임워크(JCF) 자바에서 컬렉션이란 여러 원소들을 담을 수 있는 자료구조, 즉 데이터의 집합 및 그룹을 의미하며 JCF는 이러한 자료구조인 컬렉션과 이를 구현하는 클래스를 정의하는 인터페이스를 제공한다. 자바에서의 자료구조 유형은 .. 2020. 4. 10.
네트워크 / 클라우드 IaaS, SaaS, PaaS *IaaS (서비스로서 인프라) IaaS는 서드파티 업체가 제공하는 고도로 자동화되고 확장 가능한 IT인프라를 의미한다. 이 인프라에는 스토리지, 호스팅, 컴퓨팅, 네트워킹 등이 포함된다. 비용은 사용한 만큼만 지급하면 된다. 기업은 IaaS를 통해 소프트웨어 라이선스와 서버 등 IT자산을 직접 소유하는 대신 필요에 따라 이들 리소스를 유연하게 대여할 수 있다. *SaaS(서비스로서 소프트웨어) SaaS는 서드파티가 호스팅 방식으로 소프트웨어를 제공하는 것이다. 일반적으로 웹을 통해 접속해 로그인하기만 하면 사용할 수 있다. 사용자 혹은 시트를 기준으로 구독 방식으로 과금되는 것이 보통이다. SaaS는 머신 혹은 서버를 기준으로 소프트웨어 라이선스를 구매해 직접 설치해 사용하던 기존 구매 방식과 차별화된.. 2020. 4. 7.
네트워크 / 서킷스위칭과 패킷스위칭 네트워크 상에서 호스트와 호스트 간에 정보를 주고받는 전달 방식에는 회선 교환방식과 패킷 교환 방식이 있다. *Circuit Switching 서킷스위칭은 하나의 회선을 할당받아 데이터를 주고받는 방식이다. 먼저 통신을 위한 연결을 해야하며 연결이 되고 나면 출발지로부터 목적지까지 도착하는데 사용되는 회전 전체를 독점하기 때문에 다른 사람이 끼어들 수 없다. 서킷스위칭은 전화와 같은 실시간 통신에 사용된다. 따라서 속도와 성능이 일정하다. 서킷스위칭이 회선을 분할하는 방식에는 FDMA과 TDMA이 있다. FDMA방식은 할당된 대역폭을 나누어 사용하는 방식이고 TDMA방식은 할당된 대역폭을 시간단위로 나누어 번갈아가며 사용하는 방식이다. *Packet Switching 패킷스위칭은 데이터를 패킷이라는 단위.. 2020. 4. 7.
JAVA / package와 import 1. 패키지란? 패키지는 클래스의 묶음이다. 패키지에는 클래스 또는 인터페이스를 포함시킬 수 있으며, 서로 관련된 클래스들끼리 그룹 단위로 묶어 놓음으로서 클래스를 효율적 관리할 수 있다. 같은 이름의 클래스 일지라도 서로 다른 패키지에 존재하는 것이 가능하므로, 자신만의 패키지 체계를 유지함으로써 다른 개발자가 개발한 클래스 라이브러리의 클래스와 이름이 충돌하는 것을 피할 수 있다. 지금까지는 단순히 클래스 이름으로만 클래스를 구분 했지만, 사실 클래스의 실제 이름은 패키지명을 포함한 것이다. 예를 들면 String클래스의 실제 이름은 java.lang.String이다. java.lang패키지에 속한 String클래스라는 의미이다. 그래서 같은 이름의 클래스라도 서로 다른 패키지에 속하면 패키지명으로 .. 2020. 4. 6.
JAVA / 오버라이딩(Overriding) 1. 오버라이딩이란? 상속받은 메서드를 그대로 사용하기도 하지만, 자손 클래스 자신에 맞게 변경해야하는 경우가 많다. 이럴 때 조상 클래스로부터 상속받은 메서드의 내용을 변경하는 것을 오버라이딩이라고 한다. 2차원 좌표계의 한점을 표현하기 위한 Point클래스가 있을 때, 이를 조상으로 하는 Point3D클래스, 3차원 좌표계의 한 점을 표현하기 위한 클래스를 다음과 같이 새로 작성하였다고하자. class Point { int x; int y; String getLocation() { return "x :" + x + ", y :"+ y; } } class Point3D extends Point { int z; String getLocation() { return "x :" + x + ", y :"+ y.. 2020. 4. 6.
JAVA / 상속 1. 상속의 정의 상속이란, 기존의 클래스를 재사용하여 새로운 클래스를 작성하는 것이다. 상속을 통해 클래스를 작성하면 보다 적은 양의 코드로 새로운 클래스를 작성할 수 있고 코드를 공통적으로 관리할 수 있기 때문에 코드의 추가 및 변경이 매우 용이하다. 때문에 상속은 코드의 재사용성을 높이고 코드의 중복을 제거하여 프로그램의 생산성과 유지보수에 크게 기여한다. 2. 상속 구현 방법 상속을 구현하기 위해선 새로 작성하고자 하는 클래스의 이름 뒤에 상속받고자 하는 클래스의 이름을 키워드 'extends'와 함께 써 주기만 하면 된다. class Child extends Parent { // ... } 이 두 클래스는 서로 상속 관계에 있다고 하며, 상속해주는 클래스를 '조상 클래스'라 하고 상속 받는 클래.. 2020. 4. 3.
JAVA / 변수의 초기화 저번 변수 포스팅에서 변수의 초기화를 간략히 짚고넘어간적이 있는데, 이번 포스팅에서는 좀 더 자세히 변수의 초기화에 대해 다루어보고자 한다. 변수의 초기화 변수를 선언하고 처음으로 값을 저장하는 것을 '변수의 초기화' 라고 한다. 변수의 초기화는 경우에 따라서 필수적이기도 하고 선택적이기도 하지만, 가능하면 선언과 동시에 적절한 값으로 초기화하는 것이 바람직하다. 멤버변수는 초기화를 하지 않아도 자옫적으로 변수의 자료형에 맞는 기본값으로 초기화가 이루어지므로 초기화하지 않고 사용해도 되지만, 지역변수는 사용하기 전에 반드시 초기화해야 한다. class Om { int x; int y = x; void method() { int i; int j = i; } } 위의 코드에서 x, y는 인스턴스 변수이고 i.. 2020. 4. 3.
JAVA / 생성자(Constructor) 생성자란? 생성자는 인스턴스가 생성될 때 호출되는 '인스턴스 초기화 메서드' 이다. 따라서 인스턴스 변수의 초기화 작업에 주로 사용되며, 인스턴스 생성 시에 실행되어야 할 작업을 위해서도 사용된다. 알아두기 인스턴스 초기화란, 인스턴스 변수들을 초기화하는 것을 말한다. 생성자 역시 메서드 처럼 클래스 내에 선언되며, 구조도 메서드와 유사하지만 리턴값이 없다는 점이 다르다. 그렇다고 해서 생성자 앞에 리턴값이 없음을 뜻하는 키워드 void를 사용하지는 않고, 단지 아무것도 적지 않는다. 생성자의 조건은 다음과 같다. 생성자의 이름은 클래스의 이름과 같아야 한다. 생성자는 리턴 값이 없다. 알아두기 생성자도 메서드이기 때문에 리턴값이 없다면 void를 함께 작성해주어야하는게 옳다고 생각되지만, 모든 생성자는.. 2020. 4. 3.
JAVA / 오버로딩이란 메서드도 변수와 마찬가지로 같은 클래스 내에서 서로 구별될 수 있어야 하기 때문에 각기 다른 이름을 가져야 한다. 그러나 자바에서는 한클래스 내에 이미 사용하려는 이름과 같은 이름을 가진 메서드가 있더라도 매개변수의 개수 또는 타입이 다르면, 같은 이름을 사용해서 메서드를 정의할 수 있는데, 이것을 우리는 오버로딩이라고 한다. 오버로딩을 지금부터 좀더 자세히 알아보자. 오버로딩 개념 오버로딩은 메서드 오버로딩이라고도 부르며, 한 클래스 내에 같은 이름의 메서드를 여러 개 정의하는 것을 말한다. 오버로딩의 사전적 의미는 '과적하다' 즉, 많이 싣는 것을 의미한다. 보통 하나의 메서드 이름에 하나의 기능만을 구현해야하는데, 하나의 메서드 이름으로 여러 기능을 구현하기 때문에 붙여진 이름이라 생.. 2020. 4. 3.
JAVA / 메서드(method) 프로그래밍을 하다보면 정말 많은 메서드를 만들어 사용한다. 객체지향언어인 JAVA에서도 객체의 수많은 기능을 위해 메서드를 자주 구현하곤 하는데, 이번 포스팅에서는 이러한 메서드가 무엇이며 어떻게 만들어 사용하는지 알아보고자한다. 메서드(method)란? 메서드는 객체의 기능을 수행하는 일련의 문장들을 하나로 묶어 놓은 것이다. 기본적으로 수학의 함수와 유사하며, 어떤 값을 입력하면 이 값으로 작업을 수행해서 결과를 반환한다. 예를 들어 소수점 올림을 하는 메서드 Math.ceil()은 인자를 필요로하며, 4.5를 인자값으로 입력하면 5.0이라는 결과로 반환한다. 이러한 메서드는 때에 따라 입력값 또는 출력값이 없을 수 도 있으며, 심지어 입력값, 출력값 모두 없을 수 도있다. 일반적으로 메서드는 io(.. 2020. 4. 3.
JAVA / 클래스와 객체 독자분들은 자바를 한번이라도 접해보았다면 객체지향이라는 말을 들어봤을 것이다. 자바는 대표적인 객체지향언어 중 하나로서, 객체지향 프로그래밍(OOP)을 손쉽게 할 수 있다. 객체지향의 특징을 잠깐 언급하자면 다음과 같다. 코드의 높은 재사용성 코드의 관리가 용이 신뢰성이 높은 프로그래밍 가능 이러한 객체지향의 특징을 제고시킨 대표적 요소는 클래스와 객체이며, 지금부터 이 두가지 요소가 무엇인지 함께 알아보자. 클래스와 객체 그리고 인스턴스 클래스 : 객체를 정의해 놓은 것 또는 객체의 설계도 객체 : 실제로 존재하는 것 또는 사물 혹은 개념 인스턴스 : 어떤 클래스로부터 만들어진 객체 클래스 클래스란 '객체를 정의해놓은 것' 또는 '객체의 설계도 또는 틀" 이라고 정의할 수 있다. 클래스는 객체를 생성하.. 2020. 4. 3.
JAVA / 배열 배열이란? 배열은 같은 타입의 여러 변수를 하나의 묶음으로 다루는 것을 말한다. 이 포스팅을 보시는 분들은 대게 현업경험이 아예없거나 있어도 조금 있으신 분들이라고 판단하고 여러 변수를 하나의 묶음으로 다루는 것이 왜 필요한지 예를 들어 보겠다. 만약 특정 프로그램을 개발하는데 같은 타입의 변수를 100개 정도 사용하겠다라고 가정해보자. 이러한 상황에서 배열이 없다면 우리는 변수 100개를 선언하여 사용하여야 한다. 벌써 상상만으로도 머리가 지끈거린다. 이럴 때 사용되는것이 바로 배열이며, 보다 손쉽게 방대한 데이터를 손쉽게 다룰 수 있다. 배열의 선언 및 생성 배열의 선언과 생성 방법 예시는 다음과 같다. // 배열 선언 int[] a; // 배열 생성 a = new int[3]; // 배열 선언 및 .. 2020. 3. 31.
JAVA / 캐스팅(형변환)이란? 프로그래밍을 하다보면 같은 타입뿐 아니라 서르 다른 타입간의 연산을 수행해야하는 경우도 발생한다. 이때 우리는 연산을 수행하기전 타입을 일치시켜야하는데 어떻게 해야할까? 함께 알아보자. 캐스팅(형변환)이란? 형변환 즉, 캐스팅이란 변수 또는 상수의 타입을 다른 타입으로 변환하는 것을 말한다. 우리는 코드를 작성하다보면 수많은 연산과 마주한다. 이때 서로 연산되는 데이터끼리 타입이 맞지않으면 연산이 불가능하다. 따라서 데이터를 연산할 때에 데이터끼리의 타입을 맞춰주어야하는데 이때 우리는 캐스팅이라는 작업을 통해 연산 데이터들간의 타입을 일치시켜준다. 캐스팅 방법 캐스팅의 방법에는 묵시적 캐스팅과 명시적 캐스팅 2가지가 있다. 각각의 방법을 리터럴과 변수에 적용하여 살펴보자. 예시는 다음과 같다. // 변수.. 2020. 3. 30.
JAVA / 상수와 리터럴 프로그래밍을 하다보면 값이 변하지않는 데이터 공간에 대한 고민을 한번쯤 하게 된다. 그럴 땐 어떻게 해야할까? 그렇다. 변수가 아닌 상수를 활용하는 것이다. 그럼 상수가 무엇이고 언제 필요하며, 어떻게 선언하는 것인지 알아보자. 상수? 리터럴? 상수는 변수와 마찬가지로 ‘값을 저장할 수 있는 공간’ 이지만, 변수와 달리 한번의 값을 저장하면 다른 값으로 변경할 수 없다. 따라서 상수는 반드시 선언과 동시에 초기화해야 하며, 초기화한 이후부터 상수의 값을 변경하는 것이 허용되지 않는다. 리터럴은 대입연산자 기준, 우변에 작성되는 값 그 자체를 말한다. 해당 포스팅에서 상수와 엮어 헷갈릴 수 있겠지만 변수 또는 상수에 할당되는 값 그 자체를 리터럴이라고 이해하면된다. 상수 값을 한번만 저장할 수 있는 공간 .. 2020. 3. 27.
JAVA / 데이터 타입 자바에서는 변수선언 시 변수의 타입, 즉 데이터타입을 지정해주어야한다. 또한 return이 존재하는 메서드의 경우 해당 리턴값의 데이터타입을 메서드 정의부에 명시해주어여한다. 이렇게 데이터타입은 프로그래밍에서 막중한 역할을 하는 변수와 메서드에 영향력을 끼친다. 이처럼 중요한 자바 데이터타입에는 어떠한 것들이 있고 어떻게 사용해야하는지 알아보자. 데이터타입이란? 데이터타입(변수타입)은 말 그대로 데이터의 유형을 말하며, 이러한 데이터타입은 자바에서 변수 선언 시, 함수 정의 시 명시하여 데이터의 유형을 명시적으로 결정한다. 자바에서 변수는 타입을 미리 지정하기 때문에 자바를 정적 타입 언어라고 하며, 자바스크립트와 같이 변수에 타입이 없는 언어는 동적 타입 언어라고 한다. 기본형과 참조형 데이터타입은 크.. 2020. 3. 24.