1. Java의 특징 JVM만 있으면 플랫폼과 상관없이 플랫폼에 독립적인 언어로써 돌아간다. C 계열 언어보다는 배우기 쉽다. 메모리 관리를 하지 않아도 된다. 가비지컬렉터 - 메모리 관리 자동적으로, 사용되지 않는 것이 자동으로 반환된다. (메모리 프레쉬 기능
프로그램을 잘 하려면 데이터를 잘 다뤄야 한다.데이터를 효율적으로 사용하기 위해서는 자료구조를 잘 알아야 한다.array, list, map, set, class자바는 collection(list, map, set), 파이썬은 list, 자바스크립트는 array시간적인
1. class class를 간단히 정의하자면 객체 모델링의 수단(전체적인 프로그램 설계 시) instance를 생성하는 수단(프로그래밍 실행 관점) ADT(자료구조 측면에서 프로그램을 바라볼 때) 2. instance class에 정의된 fie
register : 프로그램의 실행 포인터를 저장하고 관리한다. 신경 쓸 필요가 없다.Runtime Constant Pool : 상수들을 위한 저장 공간. 역시 신경 쓸 필요가 없다.Method Area클래스 자체에 대한 정보가 들어가 있는 공간.당연히 클래스 안에 정
public이 키워드는 field, method, constructor, class 앞에 붙을 수 있다.package에 상관없이 자유롭게 access할 수 있도록 해주는 접근 제어자class가 public이라고 해서 변수를 마음대로 쓸 수 있는 것이 아니다.변수 역시
상속은 부모 class가 가지고 있는 내용을 자식 class가 물려 받는 개념이다.그래서 매번 class를 작성할 때 처음부터 작성하는 게 아니라 기존 클래스를 확장해서 작성하는 개념이다.클래스의 계층 구조도 생긴다.부모 클래스, parent class, upper c
field 앞에 final이 올 경우 : 해당 field의 값을 변경할 수 없다. (상수로 사용)method 앞에 final이 올 경우 : 하위 class에서 해당 method를 overriding 할 수 없다.class 앞에 final이 올 경우 : 해당 class를
모든 class의 최상위 class몇 가지 주요한 method를 제공한다.여기서는 equals() 와 toString() 에 대해 알아보자.equals()toString()Java는 primitive type으로 총 8개의 데이터 타입을 제공한다.정수형 4개, 실수형
프로그램 실행 시 발생하는 다양한 형태의 오류만약 오류가 발생하고 우리가 코드로 특별한 처리를 하지 않는다면 당연히 비정상 종료가 일어난다.그런데 Exception Handling을 하게 되면 이런 상황에서 프로그램을 비정상 종료 시키지 않고 지속적으로 수행시킬 수 있
많이 들어본 용어 \- process : 실행 중인 프로그램의 instance. 현재 실행 중인 프로그램을 지칭하는 용어 \- process가 동작하려면 당연히 resource가 필요하다. \- 이 resource는 OS로 부터 할당 받는
실제 Thread가 수행해야 하는 코드는 run() method를 overriding해서 구현한다.이 method를 우리가 직접 호출하는 게 아니라 start()라는 non-blocking method를 호출해서 Thread를 동작시킨다.Thread에는 우선 순위라는
Monitor : Thread가 획득할 수 있는 자격Thread → Runnable → 공용 객체
Java 1.0부터 제공되는 자바의 기본적인 입출력 방식Java IO는 입출력에 관련된 상당히 많은 클래스와 인터페이스를 제공하고, java.io package로 묶어서 제공한다.Stream을 기반으로 처리한다.기본적으로 Blocking I/O 방식을 이용한다. 입출력
Java에서 제공하는 표준 GUI library인 Swing을 대체하기 위해서 만들어진 library당연히 표준 library는 아니다.외부 library이고 다운로드 받아서 설치한 후 사용해야 한다.특별한 용도로 사용되며 일반적으로 사용되는 library는 아니다.h
컴퓨터 network는 컴퓨터를 포함해서 컴퓨터 간에 데이터를 주고 받을 수 있는 통신 링크의 집합을 지칭한다.Internet은 Network of Network의 의미.Network를 전 세계적으로 확장시켜 놓은 통신 링크의 집합체를 지칭하는 용어.따라서 Intern
데이터베이스는 데이터의 집합체를 의미한다.대용량의 데이터 집합을 체계적으로 구성해 놓은 것.이런 데이터의 집합체는 당연히 관리가 필요하다. 프로그램으로 관리하게 된다.이런 프로그램들의 집합체를 DBMS(Database Management System)이라고 한다.DBM
Layered Architecture는 소프트웨어 개발에서 일반적으로 널리 사용되는 아키텍처를 지칭하는 용어.프로그램을 개발할 때 몇 개의 계층(Layer)를 이용할 지에 따라서 그 형태가 달라지는 데 일반적으로 많이 사용하는 것은 4계층이다. (4-Tier Archi
자바 코드 다이어트 라이브러리VO 작성 시 반복적인 getter, setter, 생성자, toString 재정의 같은 작업을 수행하게 되는데 이 작업을 조금 더 쉽게 할 수 있도록 도와준다.코드 상에서는 당연히 Lombok의 annotation을 이용해서 처리하고, 컴
Database 연동을 도와주는 Framework💡 기존 바닐라 형태 JDBC는 연동 과정도 복잡하고, 반복적인 코드가 나오면서 SQL 문장이 자바 코드와 섞여 있어서 유지보수가 힘들다. 따라서 이런 점을 개선하여 편의성과 유지보수성을 높이기 위하 목적으로 사용된다.
ALT + Insert Constructor, getter & setter sout System.out.println main main 함수 Alt + F12 터미널 창 열기 Shift + F6 변수명 한 번에 바꿀 때 Ctrl + Space 주요 키워드 찾아서 자동