JDK 자바 개발 키트 : 자바를 개발하기 위한 도구들 jre포함
JRE 자바 실행 환경 : 자바의 원시소스를 목적 프로그램으로 바꿔주는 컴파일러
(우리가 쓰는 소스를 컴퓨터 언러로 바꿔주는 프로그램)
JVM 자바 버츄얼 머신
- 자바만의 실행하는 가상의 소프트웨어
- heap구간, 메소드구간, 소스 구간이있고 이를 실행시키는것이 JVM
자바 코딩
객체
- 메모리에 할당된 데이터
- 클레스의 소스코드로 실행된 결과물
- 참조변수 형태
- 객체는 heap구간에 저장
- 참조변수의 값은 객체에 주소값
- 객체는 자신의 역활만 충실하면된다
- 역활은 세분화 될 수록 좋다
클레스
- 소스코드로 이뤄진 일종의 설계도 객체를 정의
- new연산자로 객체를 만든다
- 연산자가 있어야 객체가 만들어진다
- 이 객체는 실제 내가 사용하려고 하는 것
- 생정자는 메서드이다 그리고 클래스 이름과 동일한다
- 객체가 만들어질때 호출된다 재호출 불가
스레드
- 클레스의 소스코드를 실행시키는 명령어
- 메인 메소드부터 실행한다
객체의 정의
클래스를 정의하는 의미
(전역변수,메서드로 이뤄져있다)
전역 변수
메서드
정의 : 접근제어자 리턴타입 메서드명(매개변수,매개변수1...){ 필드 }
- 특정 기능을 정의하는 것
- 호출은 특정기능을 수행하는것
- 메서드를정의해 놓고 호출하며 사용한다
- 리턴값은 메서드가 실행되고 호출부로 값을 리턴하는것
정의(메서드를 만드는 것)와 호출(정의된 메서드를 사용)로 나누어져있다
-
리턴타입
- 메서드가 호출되고 메서드가 실되는 결과물을 호출부로 리턴한다
- 이때 리턴하는 값이 리턴값이 되고 리턴 값의 타입을 리턴타입이라고 한다
- 메서드 정의에서는 리턴타입을 기입한다
-
매개변수
- 매개변수타입의 선언
- 호출할때 넘겨주는 값을 변수에 저장하겠다
클레스 분석
선언문
1. 자료형
- 원시타입 : 변수의 값이 데이터, null값이 존재하지 않는다
- 참조타입(객체타입) : 변수의 값이 객체의 주소값, null값이 존재
원시타입을 객체타입으로 사용하려면 대부분 앞을 대문자로
사용하지만 int는 integer로 사용한다
- class 참조 제공받는 클래스와 내가 정의 한 클래스
- 변수명
- 초기값
- 객체는 new 연산자로 만들고 heap에 저장
- 참조타입 변수는 객체의 주소값을 저장
변수
- 하나의 값을 저장하는 기억공간 heap구간에 저장된다
- 변수을 사용하기위해서는 선언이 반드시 필요하다
선언문
- 하나의 변수을 만들기위 사용되는기술
- 자료형 변수명=초기값; 으로 이뤄져있으며
- 자료형의 따른 선언문을 사용해야한다
구형문
구현
변수명=변경값;
형변환
- 변수의 기본 자료형을 바꾸는것으로
- 자료형의 byte에 따라 작은 byte에서
- 큰 byte는 자동으로 형변환
- 큰 byte에서 작은 byte으로는
자동으로 형변환이 이뤄지지 않는다
강제 형변환
- 큰 byte의 자료형을 작은 byte의 자료형을 바꿀때 사용
- 변환하고자 하는 자료형앞에 소괄호()로
자료형을 지정하는 형식으로 사용된다
배열
-
heap구간에 임의적으로 같은 타입(자료형)의 데이터를
연속적으로 저장하는 자료구조
-
각 데이터의 저장위치는 인덱스를 부여해 접근
-
인덱스는 0~시작
-
떨어져있는 자료형을 하나로 컨트롤하기위해 사용
-
라인수는 줄일수없다
-
기본값은 숫자형은 0,문자형은 스페이스,참조자료형은 null이다
자료형[] 배열명 = new 자료형[갯수];으로 사용하고 이러한 형태는
배열명[인덱스]=초기값;의 형태로 구현문으로 따로 초기값을 넣어줘야한다
한번에 넣는 방법으로는 자료형[] 배열명={초기값,초기값1....};
- 초기값의 갯수만큼 인덱스가 늘어난다
조건문
구조
if(조건식){조건식이 참이면}else {조건식이 거짓이면}
- 조건식에 따라 참과 거짓을 구분하고
중괄호{ }안의 내용을 실행한다
- 조건식에 참이 아닌 나머지는 else 로 사용 else뒤에
중괄호{ }의 내용을 실행한다
- else에 조건문을 사용할 수 있다
- else는 사용하지 않아도 된다
- else if는 여러개 사용가능하다
반복문
구조
for(초기값;조건식;증감식){ }
- 초기값 : 반복하는 초기값 / 선언문
- 조건식 : 식의 내용이 참이면 반복 거짓이면 반복을 종료
- 증감식 : 초기값의 증가와 감소
- 조건식이 참이면 중괄호{ }내용을 반복한다
- 조건식이 거짓이면 반복을 종료한다
- 이중반복문 : 반복문 안에 반복문사용하는것
생성자
정의 : 접근제어자 생성자명 (매개변수) { 필드 }
- 생성자는 객체가 생성될때 가장먼저 실행되는 메서드
- 생성자는 호출이 불가능하다
- 객체가 생성될때 한번 호출된다
GC (가비지컬렉터)
- 주기억장치의 자원을 효율적으로 사용하기위해 사용
- 참조하지 않는 객체가 존제하면 그 객체를 삭제하는 기능
ArrayList
- 자바에서 제공하는 리스트 자료형중 하나
- 이 자료형은 순차적인 자료형
- 인덱스가 0부터 시작
- 이것은 배열과 비슷하다
- 배열과 다른점은 길이가 가변적이다
- remove을 사용시 삭제된 인덱스의 데이터는 삭제되고
인덱스의 값이 당겨진다
예) 0인덱스와 1인덱스가 있을때 0을 remove한다면
0인덱스의 값은 삭제되고 1의 내용이 0번 인덱스을
가지게되는 형식이다
문제
![](https://velog.velcdn.com/images/ekaql4589/post/907cf031-1f7d-4b43-bc12-c35656712839/image.PNG)