1. super() 부모 생성자를 호출한다 즉, 상속받은 부모 생성자를 호출하여 사용할 수 있다 인수를 넣으면 해당 인자로 부모 생성자가 초기화 된다 class Parent { int a; Parent() { a = 10; } Parent(int n) { a = n; } } class Child extends Parent { int b; Child() { ① //super(40); b = 20; } void display() { System.out.println(a); System.out.println(b); } } public class Inheritance04 { public static void main(String[] args) { Child ch = new Child(); ch.display()..
Array(배열) - 여러 데이터를 하나의 이름으로 그룹핑해서 관리하기 위한 자료구조 배열의 특징 크기가 정해져 있다 / 기능이 없다 인덱스를 가지고 엘리먼트의 인덱스는 변경되지 않는다 인덱스를 이용한 빠른 조회가 가능하다 데이터에 대한 인덱스 값이 고정적이다 (삭제된 엘리먼트의 공간은 그대로 남아있게된다) 배열의 단점 길이를 바꿀 수 없다 / 초기 선언할 때 꼭 길이를 설정하여야 함 배열에서 엘리먼트를 삭제하면 공간이 그대로 남아 메모리가 낭비된다 기능이 없다 / 추가,삭제,변경 등은 개발자가 직접 구현해야 함 사용예시 //배열의 정의 int []numbers = new int[5] //배열의 값 저장 numbers[0]=10; numbers[1]=23; //배열의 길이 확인 System.out.pri..
모두 자바의 jar 툴을 이용하여 생성된 압축파일이며 어플리케이션을 쉽게 배포하고 동작시킬 수 있도록 관련 파일(리소스, 속성파일)등을 패키징해준다. JAR(Java Archive) Class 와 같은 자바 리소스와 속성 파일, 라이브러리 및 액세서리 파일이 포함되어있다 쉽게 말해 자바 프로젝트를 압축한 파일로 이 파일은 JRE(자바 실행 환경)만으로 실행이 가능하다 WAR(Web Application Archive) servlet / jsp 컨테이너에 배치 할 수 있는 웹 어플리케이션 압축 파일이다 웹 응용프로그램이기 때문에 웹 관련 자원만 포함하고 있으며 이를 사용하면 웹 어플리케이션을 쉽게 배포하고 테스트 할 수 있다 이 파일을 실행하려면 Tomcat, Weblogic, Websphere 등의 웹서..
Stream 배경 기존의 자바는 데이터에 접근을 하기 위해서는 배열 혹은 컬렉션 등에 저장된 데이터를 반복문 혹은 반복자를 통해서 접근해야 했다 그렇게 되면 코드의 양이 많아지고 재사용이 거의 불가능하다는 단점이 있다 이러한 문제점을 극복하기 위해 데이터를 추상화하여 다루고, 다양한 방식으로 저장된 데이터를 읽고 쓰기 위한 공통된 방법을 제공하는 Stream이 생겨났다. 따라서 스트림 API를 이용하면 배열이나 컬렉션뿐만 아니라 파일에 저장된 데이터도 모두 같은 방법으로 다룰 수 있게 된다. Stream의 특징 외부 반복을 통해 작업하는 컬렉션과는 달리 내부 반복으로 작업을 수행한다 스트림의 연산은 필터 - 맵 기반의 api 를 사용하여 지연 연산을 통해 성능을 최적화한다 스트림은 parallesStre..
1. 람다 표현식(lambda expression)이란? 함수형 프로그래밍 언어에서 사용되는 개념으로 익명함수라고도 한다 Java 8 부터 지원되며, 불필요한 코드를 줄이고 가독성을 향상시키는 것을 목적으로 두고 있다 표현법 (매게변수, ...) -> {함수 실행문}; 람다 표현식 작성 시 유의 사항 기본적인 람다 표현식의 표현법은 매게변수 화살표 함수몸체 입니다 : (매게변수, ...) -> {함수몸체} 매게변수가 하나일 경우 매게변수를 생략 할 수 있다 : () -> {함수몸체} 함수몸체가 단일 실행문이면 괄호({})를 생략할 수 있다 : (매게변수 ,...) -> 함수몸체 함수몸체가 return 문으로만 구성되어 있는 경우 괄호({})를 생략할 수 없다 : (매게변수,...) -> {return 0..
자바 관련 용어 1. JVM - Java Virtual Machine (자바 가상 머신) 자바 소스코드로부터 만들어지는 자바 바이너리 파일(.class)를 실행한다 JVM은 플랫폼에 의존적이다 (리눅스의 JWM / 윈도우즈의 JVM은 다름) 2. JRE - Java Runtime Environment (자바 실행 환경) JVM 이 자바 프로그램을 동작시킬 때 필요한 라이브러리 파일들과 기타 파일들을 가지고 있다 즉 JRE는 JVM의 실행환경을 구현했다고 할 수 있다 3. JDK - Java Development Kit (자바 개발 도구) 개발자만을 위한 컴파일러(Javac) 디버깅 툴을 제공 JRE + 개발을 위해 필요한 도구(javac, java)들을 포함 자바의 특징 운영체제에 독립적이다 - JVM ..