📃 요약
자바는 웹 프로그램을 개발하는데 특화된 컴파일 언어이자 벡엔드 개발 전문 언어임. 플랫폼에 독립적이라서 어떤 운영체제(OS)에서도 실행이 가능하며 가상머신을 통해 실행됨
요소 기술 :
Basic : 자바
📃 기술 구현
스펙 :
intellij java
📃 참조 타입과 참조 변수
자바는 객체 지향 언어임, 그래서 객체가 컴퓨터 어디에 저장되고 실행되는가 중요함
1) 기본타입 :
- byte, short, char, int, long, float, double, boolean 타입 - 스택방에 값이 저장됨
2) 참조타입 :
- 기본 타입을 제외한 자료형(타입) 배열, 열거형, 객체 - 스택방에 힙방번호(주소)가 저장됨 -> 힙방에 값이 저장됨
3) JVM(java) 메모리 구조 :
- 메소드방 : 정적변수/상수, 함수, 생성자, 클래스코드 - 스택방 : 지역변수/매개변수 - 힙방 : 객체, 배열
4) 비교연산자 : ==
기본타입에서 사용되면 값 비교, 참조타입에서 사용되면 방번호(주소) 비교
5) null :
초기화 시 null로 초기화하는 것은 자바에서 피하는 것이 좋음 ( null 포인트 예외 발생 가능서 높음 : 강제 프로그램 중단, 다른 서비스까지 중단 시킴 )
6) null 포인트 예외 :
객체에 null을 넣어놓고, 객체의 함수 및 변수를 호출할 경우 대부분 발생.
📃 배열
변수는 1개의 데이터만 저장되므로, 저장되어야 할 데어터 많아지면 불편함. 배열은 많은 양의 데이터를 적은 코드로 손쉽게 처리할 수 있음
1) 배열 : 같은 자료형(타입)의 데이터를 연속된 공간에 나열하고, 인덱스를 부여해 놓은 자료구조(자바에서는 배열도 객체로 취급)
2) 인덱스 : 배열 항목에 붙인 번호, 0 ~ n까지 범위
3) 배열 선언 : 자료형[] 변수;
4) 배열 생성 :
1) 자료형[] 변수 = {값1, ... 값n}; // 이때는 선언과 생성을 항상 1라인으로 작성해야함 (분리하면 컴파일 에러 발생) 2) 자료형[] 변수 = new 자료형[길이]; 3) 자료형[] 변수 = new 자료형[길이] {값1, ...., 값n}; - 이때는 선언과 생성을 분리 작성해도 가능함(2라인으로 작성 가능)
5) 배열 길이 : 배열에 저장할 수 있는 항목(값) 개수, .length 로 배열 개수를 알 수 있음(읽기 전용)
6) 다차원 배열 : 배열 값이 또다른 배열일 경우 다차원 배열이라고 함
사용법) 자료형[][] 변수 = new 자료형[행크기][열크기] // 바깥 {} : 행(바깥 for문), 안쪽 {} : 열(안쪽 for문), 자료형[][] 변수 = { {열1, ... 열n}, {열1,... 열n} }
7) 향상된 for문 :
for(자료형 변수 : 배열) { 반복문 } - 반복 실행 위해 증감식 사용하지 않음(배열의 끝까지 자동 증가되면서 실행됨) - 반복할 때마다 변수에는 배열에서 가져온 값이 하나씩 저장됨
📃 열거 타입
몇가지로 한정된 데이터일(상수) 경우 열거 자료형을 고려함( 요일, 계절 등 )
1) 열거 타입 : 몇 가지로 제한된 상수를 가지는 타입
2) 열거 타입 선언 : enum 타입 { 상수1, 상수2, … 상수n }
3) 열거 상수 : 열거 자료형(타입) 선언 때 주어진 상수
사용법 : 열거형이름.상수명 ex) Week.MONDAY 열거 타입 변수 : 열거 자료형으로 선언된 변수. ex) Week today = Week.FRIDAY; // today 가 열거 자료형 변수임