JAVA는 썬 마이크로시스템즈의 제임스 고슬링(James Gosling)과 다른 연구원들이 개발한 객체 지향적 프로그래밍 언어로 현재 웹 애플리케이션 분야에 가장 많이 사용하는 언어 중 하나이고, 안드로이드를 비롯한 모바일 기기용 소프트웨어 개발에도 널리 사용되고 있다
변수는 데아터를 저장하기 위해 프로그램에 의해 이름을 할당받은 메모리 공간을 의미하며 저장된 값은 변경될 수 있다.변수의 이름은 영문자, 숫자, 언더스코어(\_), 달러($)로만 구성할 수 있다변수의 이름은 숫자로 시작할 수 없다변수의 이름 사이에는 공백을 포함할 수
변수에 값을 딱 한번 할당 할 수 있으면 상수변경 불가키워드 final 선언이 붙음int r = 5에서 r은 변수명 5는 리터널변수에 넣는 변하지 않는 데이터상수라는 표현으로 대신해도 좋다.컴퓨터는 이진수로만 소통하기 때문에 연산시 데이터 타입을 맞춰줘야 한다아래의 이
프로그램에서 데이터를 처리하여 결과를 산출하는 것을 연산(Operation)이라 한다.연산에 사용되는 표시나 기호를 연산자라고 하고 연산되는 데이터는 피연산자라고 한다.
if문은 조건식의 결과가 참(true)이면 주어진 명령문을 실행하고 거짓(false)이면 아무것도 실행하지 않는 조건식이다. 간단하게 이미지를 통해 설명하면 오늘부터 다이어트를 하기로 했다면 참(true)이므로 운동/식단관리를 하게 되는것이고 오늘부터 다이어트를 하지
반복문이란 프로그램 내에서 똑같은 명령을 일정 횟수만큼 반복하여 수행하도록 제어하는 명령문이다. 프로그램이 처리하는 대부분의 코드는 반복적인 형태가 많으므로, 가장 많이 사용되는 제어문 중 하나이다.종류에는 while, do-while, for문이 있다.조건문의 실행
배열(array)은 같은 타입의 변수들로 이루어진 유한 집합으로 정의된다.배열을 구성하는 각각의 값을 배열 요소(element)라고 하며, 배열에서의 위치를 가리키는 숫자는 인덱스(index)라고 한다.배열은 선언되는 형식에 따라 1차원 배열, 2차원 배열뿐만 아니라
모든 데이터를 객체(object)로 취급하며, 이러한 객체가 바로 프로그래밍의 중심이 된다.객체란 실생활에서 우리가 인식할 수 있는 사물로 설명할 수 있다. 이러한 객체의 상태와 행동을 구체화하는 형태의 프로그래밍이 바로 객체 지향 프로그래밍이다. 이때 객체를 만들어
(1) 인스턴스변수클래스 영역에 선언되며, 클래스의 인스턴스를 생성할 때 만들어 진다. 그렇기에 인스턴스 변수의 값을 읽어 오거나 저장하기 위해선 인스턴스를 생성해줘야 한다.(2) 클래스변수인스턴스변수 앞에 static을 붙이기만 하면 된다. 인스턴스마다 독립적인 저장
메서드의 내부에서 메서드 자신을 다시 호출하는 것이다.오직 재귀호출 뿐이면 무한로프에 빠지기 때문에 조건문이 항상 같이 사용되어야 한다(1) 4! 구하는 예제 (2) x의 제곱을 구하는 예제
변수의 값을 읽기만 할 수 있다. (1) change메서드가 호출되면서 'd.x'가 change메서드의 매개변수 x에 복사됨(2) change메서드에서 x의 값을 1000으로 변경(3) change메서드가 종료되면서 매개변수 x는 스택에서 제거됨변수의 값을 읽고 변경할
1. 상속 기존의 클래스로 새로운 클래스를 작성하는 것(코드의 재사용) 두 클래스를 부모와 자식으로 관계를 맺어주는 것 자손은 조상(부모클래스)의 모든 멤보를 상속받는다(생성자, 초기화블럭 제외) 부모클래스의 변경이 있으면 자손 클래스는 영향을 받는다(자손클래스의 변경
상속 관계에 있는 부모 클래스에서 이미 정의된 메소드를 자식 클래스에서 같은 시그니처를 갖는 메소드로 다시 정의하는 것상속받은 부모 클래스의 메소드를 재정의조건선언부가 조상 클래스의 메서드와 일치해야 한다.(void display())접근 제어자는 조상 클래스의 메서드
서로 관련된 클래스의 묶음클래스는 클래스 파일(\*.class), 패키지는 폴더. 하위 패키지는 하위 폴더클래스의 실제 이름(full name)은 패키지를 포함.(java.lang.String)rt.jar는 클래스들을 압축한 파일(JDK설치경로 \\jre\\lib에 위
1. 제어자 클래스와 클래스의 멤버(멤버 변수, 메서드)에 부가적인 의미 부여 하나의 대상에 여러 제어자를 같이 사용가능(접근 제어자는 하나만) 접근 제어자는 맨앞에 있어야함 (1) static '클래스의' 또는 '공통적인'의 의미를 가지고 있다. 하나의 클래스로부
하나의 객체가 여러 가지 타입을 가질 수 있는 것을 의미한다.조상 타입 참조 변수로 자손 타입 객체를 다루는 것자손 타입의 참조변수로 조상 타입의 객체를 가리킬 수 없다.사용할 수 있는 멤버의 갯수를 조절하는 것조상 자손 관계의 참조변수는 서로 형변환 가능자손타입 ->
미완성 설계도. 미완성 메서드를 가지고 있는 클래스다른 클래스 작성에 도움을 주기 위한 것. 인스턴스 생성 불가상속을 통해 추상 메서드를 완성해야 인스턴스 생성가능미완성 메서드. 구현부(몸통,{})가 없는 메서드여러 클래스에 공통적으로 사용될 수 있는 추상클래스를 바로
자바 특성상 다중 상속이 불가능한데 다중 상속의 이점을 버릴 수는 없기에 인터페이스를 통해 다중 상속을 할 수 있다.추상 메서드만의 집합구현된 것이 전혀 없는 설계도(모든 멤버가 public)추상화 클래스와 달리 인스턴스 변수를 가질수 없음인터페이스의 조상은 인터페이스
클래스 안의 클래스내부 클래스에서 외부 클래스의 멤버들을 쉽게 접근할 수 있다.코드의 복잡성을 줄일 수 있다.(캡술화)변수와 같이 인스턴스, 클래스, 지역 클래스로 구분된다.내부 클래스의 제어자는 변수에 사용 가능한 제어자와 동일일반 class의 접근자에는 (defau
1. 프로그램 오류 컴파일 에러 : 컴파일 할 때 발생하는 에러 런타임 에러 : 실행 할 때 발생하는 에러 논리적 에러 : 작성 의도와 다르게 동작 Java 런타임 에러 에러 : 프로그램 코드에 의해서 수습될 수 없는 심각한 오류 예외 : 프로그램 코드에 의해
모든 클래스의 최고 조상. 오직 11개의 메서드만을 가지고 있다.따라서 자바의 모든 클래스는 Object 클래스의 모든 메소드를 바로 사용할 수 있습니다.
날짜와 시간을 다룰 목적으로 만들어진 클래스(JDK 1.0)Date의 메서드는 거의 사용금지 되었지만 여전히 사용줌(옛날부터 사용중인 곳은 사용중)Date클래스르 개선한 새로운 클래스(JDK 1.1) 여전히 단점이 존재Date와 Calendar의 단점을 개선한 새로운
컬렉션 : 여러 객체를 모아 놓은 것프레임웍 : 표준화, 정형화된 체계적인 프로그래밍 방식컬렉션을 다루기 위한 표준화된 프로그래밍 방식컬렉션을 쉽고 편리하게 다룰 수 있는 다양한 클래스를 제공java.util패키지에 포함핵심 인터페이스종류 : ArrayList, Lin
스택(Stack) : LIFO(Last int first out)구조. 마지막에 저장된 것을 제일 먼저 꺼내게 된다.스택은 늦게 들어온 값을 먼저 빼내는 구조로 배열에 적합하다.Stack 클래스를 호출하여 사용메서드큐(Queue) : FIFO(First in first
lterator(과거 Enumeration) 컬렉션에 저장된 데이터를 접근하는데 사용되는 인터페이스 주요 메서드 |boolean hasNext()|읽어 올 요소가 남아있는지 확인한다. 있으면 true, 없으면 false를 반환한다.| |:---|:---| |Obje
파일 또는 폴더에 대한 정보를 제공하는 클래스 정보를 조회하고자 하는 파일이나 폴더의 경로에 대한 문자열을 생성자 파라미터로 전달하는 형태로 만들 수 있다 1. FileReader java.io.InputStreamReader 클래스를 상속 받음 InputStream
관련된 상수들을 같이 묶어 놓은 것. Java는 타입에 안전한 열거형을 제공값과 타입 모두 체크함예를 들면 값에 별명을 붙여주는 개념으로 가위/바위/보 게임을 만드는데 0을 바위, 1을 보, 2를 가위라 할때 매번 코드에서는 if(choice == 1)같은 형태로 사용
프로세스 : 실행 중인 프로그램, 자원과 쓰레드로 구성쓰레드 : 프로세스 내에서 실제 작업을 수행 모든 프로세스는 최소한 하나의 쓰레드를 가지고 있다.프로세스 : 쓰레드 = 공장 : 일꾼 \- 싱글 쓰레드 프로세스 : 자원 + 쓰레드 \- 멀티 쓰레드
메서드를 하나의 식으로 표현한 것으로 함수를 간략하면서도 명확한 식으로 표현할 수 있게 해준다.메서드 람다식으로 표현하면 메서드의 이름과 반환값이 없어지므로, 람다식을 '익명함수'라고도 한다.추상 메서드가 오직 하나인 인터페이스를 의미한다.@FunctionalInter
웹페이지의 동작방식으로 크게는 유저(클라이언트) <-> 프론트 <-> 백엔드(서버) <-> 데이터베이스로 동작이 된다. 이때 서버에서는 데이터베이스에서 데이터를 가져와 프론트로 값을 전송해 유저가 볼 수 있도록 동작하게 되는데 이때 값을 가져오는 방식
다양한 데이터 소스를 표준화된 방법으로 다루기 위한 것컬렉션(Collection)이나 배열 등의 데이터를 처리하는데 사용되는 편리하고 강력한 도구스트림은 데이터의 연속된 흐름을 나타내며, 데이터의 처리를 일관성 있게 다룰 수 있도록 도와준다.중간 연산과 최종 연산으로