객체 지향 방법론을 사용해야 한다.같은 프로그램(바이트코드)이 여러 운영 체제에서 실행될 수 있어야 한다.컴퓨터 네트워크 접근 기능이 기본으로 탑재되어 있어야 한다.원격 코드를 안전하게 실행할 수 있어야 한다.다른 객체 지향 언어들의 좋은 부분만 가지고 와서 사용하기
정의 : JVM은 Java Virtual Machine의 줄임말로 어느 환경(Mac, Linux)이던지 자바 프로그램을 실행할 수 있도록 도와주는 프로그램jvm의 구성요소인 클래스 로더가 fileName.class 파일을 메모리상의 JVM으로 가져온다.classLoad
OOP 설명 및 절차지향
추상 클래스 추상메서드 0개를 가지고 있다. https://devlog-wjdrbs96.tistory.com/370
Java 데이터 타입 프로그램은 자료구조(데이터)와 알고리즘의 결합으로 이루어집니다. 기본타입과 참조타입으로 분류 기본타입 : 정수, 실수, 문자, 논리 리터럴을 저장하는 타입 참조타입 : 객체의 번지를 참조하는 타입으로 배열, 열거, 클래스, 인터페이스 타입 기본
기본 타입의 데이터를 객체로 취급해야 될때 객체로 포장해 주는 클래스를 래퍼 클래스라고 한다.래퍼클래스는 산술 연산을 위해 정의된 클래스가 아니므로, 인스턴스에 저장된 값을 변경할 수 없다.단지 값을 참조하기 위해 새로운 인스턴스를 생성하고, 생성된 인스턴스의 값만을
String 객체(불변) 불변이기 때문에 변하지 않는 문자열은 String을 사용한다.불변하여 멀티쓰레드 환경에서의 안전성을 가지고 있다.새로운 영역을 가리키게 변경되고 처음 선언했던 hello로 값이 할당되어 있던 메모리 영역은 Garbage로 남아있다가 GC에 의해
객체 지향에서 정보 은닉이란 사용자가 굳이 알 필요가 없는 정보는 사용자로부터 숨겨야 한다는 개념\--> 사용자는 언제나 최소한의 정보만으로 프로그램을 손쉽게 사용 가능!!정보은닉을 위한 접근제어자privatepublic defaultprotected선언된 클래스 멤버
SOILD SRP - 단일 책임 원칙
함수가 호출 될때 메모리 공간 안에서는 함수를 위한 별도의 임시 공간이 생성(함수 종료시 사라짐)참조에 의한 호출방식으로 함수 호출시 인자로 전달되는 변수의 레퍼런스를 전달함수 안에서 인자의 값이 변경되면, 함수 호출시에 있던 변수들도 값이 바뀜함수가 호출될 때 메모리
CheckException UnCheckException
객체를 정의하고 만들어 내기 위한 설계도 혹은 틀객체의 상태를 나타내는 필드(field)와 객체의 행동을 나타내는 메소드(method)로 구성된다.필드(field)란 클래스에 포함된 변수(variable)를 의미한다.메소드(method)란 어떠한 특정 작업을 수행하기
구체적인 클래스 타입을 알지 못해서 그 클래스의 메소드와 타입 그리고 변수들을 접근할 수 있도록 재후는 자바 API런타임에 지금 실행되고 있는 클래스를 가져와서 실행해야되는 경우동적으로 객체를 생성하고 메서드를 호출하는 방법자바의 리플렉션은 클래스, 인터페이스, 메소드
데이터의 타입을 일반화한다제네릭은 클래스나 메소드에서 사용할 내부 데이터 타입을 컴파일 시에 미리 지정하는 방법클래스나 메소드 내부에서 사용되는 객체의 타입 안정성을 높일 수 있습니다.반환값에 대한 타입 변환 및 타입 검사에 들어가는 노력을 줄일 수 있습니다.JDK 1
java 8 이상부터 지원NullPointerException를 방지null이 올수 있는 값을 감싸는 Wrapper 클래스Optional.empty() - 값이 비어있는 경우Optional.of() - 값이 Null이 아닌 경우Optional.ofNullable() -
객체의 모음 및 그룹일관된 API프로그래밍 노력 감소프로그램 속도 및 품질 향상구현 클래스HashSetTreeSet순서를 유지하지 않는 데이터의 집합으로 데이터의 중복을 허용하지 않는다.구현 클래스LinkedListArrayList(동기화X)Vector(동기화가능)순서