자바란? 객체 지향 언어로 개발된 프로그래밍 언어 자바의 특징 운영체제와 독립적으로 실행 가능하다. 다른 언어에 비해 배우기 쉽다. 자동 메모리 관리 등을 지원하여 다른 언어에 비해 안정성이 높다. 코드의 가독성이 높다. 단점 자바의 실행을 위해 JVM을 거쳐야 하므로 다른 언어에 비해 실행 속도가 느리다. 개발자가 예외 처리를 직접 지정해 줘야 한다....
자바는 한 개 이상의 클래스로 구성된다. 그 클래스는 한 개 이상의 필드나 메소드로 구성된다. 클래스 : 서로 관련있는 데이터들을 하나의 단위로 묶어두기 위한 것 서로 관련있는 데이터 뿐 아니라 그 데이터와 관련이 깊은 메서드도 함께 묶어둘 수 있음 메서드 : 객체의 기능(동적 속성) 데이터 : 객체의 정적 속성 객체 = 데이터 + 메서드 자...
변수 데이터를 저장하기 위해 프로그램에 의해 이름을 할당받는 메모리 공간 저장된 값은 변경될 수 있다. 변수 이름 생성 규칙 영문자(대,소문자), 숫자, 언더스코어(_), 달러($)로만 구성할 수 있다. 숫자로 시작할 수 없다. 이름 사이 공백을 포함할 수 없다. 자바에서 미리 정의된 키워드는 사용할 수 없다. 변수의 종류 기본형 변수 : 실제 연산에 ...
연산자(operator) 자바는 여러 종류의 연산을 수행하기 위한 다양한 연산자를 제공 1) 산술 연산자 사칙연산을 다루는 연산자 2) 대입 연산자 변수에 값을 대입할 때 사용하는 이항 연산자 결합 방향은 오른쪽에서 왼쪽 3) 증감 연산자 피연산자를 1씩 증가 혹은 감소시킬 때 사용하는 연산자 4)
제어문 원하는 결과를 얻기 위해 프로그램의 순차적인 흐름을 제어해야 할 경우 사용하는 명령문을 제어문이라고 한다. 중괄호({})로 둘러싸여있으며 중괄호 영역을 Black라고 한다. 조건문 주어진 조건식의 결과에 따라 별도의 명령을 수행하도록 제어하는 명령문 1) if문 조건식의 결과가 참이면 실행, 거짓이면 실행하지 않는다. if(조건식){ ...
반복문 프로그램 내에서 똑같은 명령을 일정 횟수만큼 반복하여 수행하도록 제어하는 명령문 1) While 문 특정 조건을 만족할 때까지 계속해서 주어진 명령문 반복 실행 while(조건식){ 조건식의 결과가 참인 동안 반복적으로 실행하고자 하는 명령문; } 2) do/while 문 먼저 한 번 실행한 후 조건식을 검사한다. ...
JVM 메모리구조 모든 자바 프로그램은 자바 가상 머신(JVM)을 통해 실행된다. JVM은 운영 체제로부터 해당 프로그램을 수행할 수 있도록 필요한 메모리를 할당받는다. JVM은 자바 바이트 코드를 실행할 수 있는 환경을 제공해준다. Class Loader (클래스로
객체 지향 프로그래밍 (OOP) 객체 지향 프로그래밍은 모든 데이터를 객체로 취급하며 이 객체가 프로그래밍의 중심이 된다. 객체 : 실생활에서 우리가 인식할 수 있는 사물 객체의 상태와 행동을 구체화하는 형태의 프로그래밍이 바로 객체 지향 프로그래밍이다. 이 때 객체를 만들어 내기 위한 설게도와 같은 개념을 클래스(Class)라고 한다. 클래스 (clas...
this 참조 변수 자기 자신을 참조하는데 사용하는 변수 Phone 클래스의 생성자 예제 this 참조변수를 사용할 수 있는 영역은 인스턴스 메소드 뿐이며 클래스 메소드에서는 사용할 수 없다. this() 메소드 생성자 내부에서만 사용 가능, 같은 클래스의 다른 생성자를 호출할 때 사용 가능 인수를 전달하면 생성자 중 메소드 시그니처가 일치하는 다른 ...
패키지 클래스 + 인터페이스의 집합을 의미 모든 클래스는 반드시 하나 이상의 패키지에 포함되어야 한다. import 문의 선언 import 패키지이름.클래스이름; import 패키지이름*; 접근 제어자 객체 지향에서 정보 은닉이란 사용자가 굳이 알 필요가 없는 사용자로부터 숨겨야 한다는 개념이다. 이런 정보 은닉을 위해 접근 제어자라는 기능을 제공하고 ...
상속 기본의 클래스에 기능을 추가하거나 재정의하여 새로운 클래스를 정의하는 것 상속의 장점 클래스 재사용 자식 클래스 설계 시 중복되는 멤버를 미리 부모 클래스에 작성해 놓으면 자식 클래스에선 해당 멤버를 작성하지 않아도 된다. 클래스 간의 계층적 관계를 구성함으로써 다형성의 문법적 토대를 마련한다. 자식 클래스 부모 클래스의 모든 특성을 물려받아 새롭...
메서드 시그니처 메서드의 선언부에 명시되는 매개변수의 리스트를 가리킨다. 만약 두 메서드가 매개변의 개수와 타입, 그 순서까지 모두 같다면 이 두 메서드의 시그니처는 같다고 할 수 있다. 오버로딩 (overloading) 같은 이름의 메서드를 중복하여 정의하는 것 오버로딩 사용 시 매개변수의 타입이나 개수에 대해 크게 신경 쓰지 않고 호출할 수 있다. 객...
다형성 하나의 객체나 메서드가 여러 가지 형태를 가질 수 있는 것을 의미 오버라이딩, 오버로딩, 업캐스팅, 다운캐스팅, 인터페이스, 추상메서드, 추상클래스 등 다양한 방법이 있다. 프로그래밍에서 다형성이란 하나의 부모 타입 참조변수가 여러 자식 타입의 인스턴스를 가질 수 있는 것을 말한다. 다형성의 특징 하나의 부모 타입이 여러 자식 타입을 가질 수 있다...
Object 클래스 Object 클래스는 자바에서 제공하는 중요한 클래스 중 하나 java.lang.Object 클래스는 모든 클래스의 최상위 클래스로 모든 클래스는 Object 클래스를 상속받는다. Object 클래스가 들어있는 패키지는 컴파일러에 의해 자동으로 import된다. Object 클래스의 메서드 1. toString() 메서드 객체의 정보를...
String 클래스
StringBuffer
Math
Wrapper
Arrays
Calendar
제네릭 데이터의 타입을 일반화하는 것을 의미 즉, 데이터 형식에 의존하지 않고 하나의 값이 여러 다른 데이터 타입들을 가질 수 있도록 하는 방법 클래스 내부에서 지정하는 것이 아닌 외부에서 사용자에 의해 지정되는 것이다. 제네릭을 사용해야 하는 이유 제네릭의 장점 잘못된 타입이 들어올 수 있는 것을 컴파일 단계에서 방지할 수 있다. 클래스 외부에서 타입...
컬렉션 프레임워크 다수의 데이터를 쉽고 효과적으로 처리할 수 있는 표준화된 방법을 제공하는 클래스의 집합을 의미 즉 데이터를 저장하는 자료 구조와 데이터를 처리하는 알고리즘을 구조화하여 클래스로 구현해 놓은 것 컬렉션 프레임워크는 자바의 인터페이스를 사용하여 구현 컬렉션 프레임워크 주요 인터페이스 List 인터페이스 Set 인터페이스 Map 인터페이스 ...
오류와 예외 자바 프로그램을 작성할 때 자바 문법에 맞지 않게 코드를 작성하고 컴파일하려할 때 문법 오류를 발생시킨다. 오류 시스템 레벨에서 프로그램에서 심각한 문제를 야기하며 실행 중인 프로그램을 종료시킨다. 오류는 개발자가 미리 예측하여 처리할 수 없다. 예외 발생할 수 있는 상황을 미리 예측해 처리할 수 있다. 예외 처리를 통해 예외 상황을 처리...
스레드 프로세스 실행 중인 프로그램 스레드 (thread) 프로세스 내에서 실제로 작업을 수행하는 주체 스레드의 생성과 실행 자바에서 스레드를 생성하는 방법은 두 가지 방법이 있다. Runnable 인터페이스 구현하는 방법 Thread 클래스를 상속받는 방법 스레
JAVA 특징 JAVA는 객체지향 프로그래밍 언어 기본 자료형을 제외한 모든 요소들이 객체로 표현되고, 객체 지향 개념의 특징인 캡슐화, 상속, 다형성이 잘 적용된 언어 장점 JVM 위에서 동작하기 때문에 운영체제에 독립적이다. GC를 통한 자동적인 메모리 관리가 가
싱글톤 패턴 객체의 인스턴스를 단 하나만 생성하는 것을 보장하는 디자인 패턴 인스턴스가 1개만 존재해야 한다는 것과 보장하고 싶은 경우와 동일한 인스턴스를 자주 생성해야 하는 경우에 주로 사용한다. -> 메모리 낭비 방지 위해 싱글톤 패턴 예시 - Spring Bea
컬렉션 프레임워크 다수의 데이터를 쉽고 효과적으로 관리할 수 있는 표준화된 방법을 제공하는 클래스의 집합 List 순서가 있는 데이터의 집합, 데이터의 중복 허용 ArrayList, LinkedList 등이 있다. Set 순서가 없는 데이터의 집합, 데이터 중복 불