본문 바로가기
  • 개발공부 및 일상적인 내용을 작성하는 블로그 입니다.

JAVA9

JAVA - 객체지향 프로그래밍(OOP) 기본 객체 지향 프로그래밍(Object Oriented Programming - OOP) 쉽게 말해 조립식 프로그래밍 이라고 할 수 있다. - 프로그램을 부분부분 미리 만들어놓고 이를 조립하여 프로그램을 완성하는 과정이다. * 객체 지향의 장점 1. 프로그램의 관리가 편리하다. 2. 객체를 재사용할 수 있다. 3. 프로그램 확장이 편리해진다. 객체(Object) 객체란 말 그대로 하나의 대상을 프로그래밍 가능한 형태로 추상화하여 나타낸 것을 말한다. 예를 들면 사람, 동물, 책 이런것들 하나하나의 특징과 행동을 프로그래밍 하는것에 초점을 맞춰 추상화 해주는것이다. 클래스(Class) 클래스란 객체를 만들기 위한 하나의 설계도 라고 할 수 있다. 예를 들어 사람이라는 하나의 객체를 표현하고자 할 때, 이름, 나.. 2022. 1. 22.
JAVA - 자바 가상머신(JVM) 자바 가상머신(JVM - Java Virtual Machine) - 자바로 작성된 애플리케이션은 모두 JVM 에서만 실행되기 때문에, 자바 애플리케이션이 실행되기 위해서는 반드시 JVM이 필요하다. - 스택 기반의 가상 머신이다. - JVM 은 자바 애플리케이션을 클래스 로더를 통해 읽어들인 후, 자바 API 와 함께 실행시킨다. - JAVA 와 OS 사이에서 중개자 역할을 수행하여 JAVA 가 OS 에 구애받지 않고 재사용 가능하게 해준다. - 메모리 관리를 Garbage Collection(GC 를 통해 자원을 관리) 을 통해 수행한다. - 자바 바이트 코드를 실행할 수 있는 주체이다. * JVM 을 알아야 하는 이유? - 한정된 메모리를 효율적으로 사용하여 최고의 성능을 내기 위해서라고 할 수 있다.. 2022. 1. 22.
JAVA - 자바 프로그램 컴파일 과정 자바는 다른 언어들과는 다르게 OS 에 독립적인 특징을 가지고 있다. - 자바는 JVM 덕분에 다른 언어들과는 다르게 OS 에 독립적이다. - 자바가 아닌 다른 프로그래밍 언어의 경우 컴파일러가 하드웨어와 운영체제에 맞는 기계어 코드 파일을 만들어낸다. * 컴파일 : 프로그래밍 언어로 작성된 프로그램을 컴퓨터가 정상적으로 실행할 수 있는 기계어로 번역해주는 작업 - 반면 자바 컴파일러는 자바 가상 기계(JVM) 에 맞는 가상 기계어로 된 파일을 만들어 내는데 이 파일이 바로 클래스 파일이다. * 자바에서는 왜 기계어로 된 실행 파일을 직접 만들지 않고 가상 기계어로 된 클래스 파일을 만들어서 자바 가상 기계가 실행하게 하는 걸까? -> 컴파일된 결과물을 서로 다른 플랫폼(윈도우, 맥) 에 가져가서도 정상.. 2022. 1. 22.
자바 람다식 기초 - 2 "자바 8 부터 나온 람다, 스트림 과 같은 함수형 프로그래밍의 기초적인 개념들을 정리하기 위한 글 입니다." "더 자세한 내용은 '모던 자바 인 액션' 교재를 학습하며 포스팅 할 예정입니다." @FunctionalInterface 어노테이션 코딩을 하다보면 람다식으로 구현한 인터페이스에 실수로 다른 메소드를 추가 할 수 있다. 그런 실수를 막기 위해 FunctionalInterface 어노테이션을 사용한다. 이 어노테이션을 사용하면 함수형 인터페이스 라는 의미이고, 이 어노테이션이 선언된 인터페이스에 메소드를 하나 이상 선언하면 오류가 발생하게 된다. 이 어노테이션을 반드시 사용해야 하는 것은 아니나, 함수형 인터페이스 라는 것을 명시적으로 표현함으로서 나중에 발생할 오류를 방지할 수 있게 된다. 객체.. 2021. 2. 27.