반응형

[IT]/JAVA 7

[JAVA] Reflection이란? (언제 사용하고/어떻게 사용하고/장단점은?)

Reflection이란? 구체적인 Class Type을 알지 못하더라도 해당 Class의 method, type, variable들에 접근할 수 있도록 해주는 자바 API. 컴파일된 바이트 코드를 통해 Runtime에 동적으로 특정 Class의 정보를 추출할 수 있는 프로그래밍 기법. 그럼 "동적으로 Class의 정보를 추출한다는 것"은 무슨말일까? >> Binding (바인딩) 바인딩이란? 프로그램에 사용된 구성 요소의 실제 값 또는 프로퍼티를 결정하는 것. 즉, 프로그램에서 사용되는 변수나 메소드 등 모든 것들이 결정되도록 연결해주는 것을 뜻한다. 이는 결정짓는 시점에 따라 "정적 바인딩" , " 동적 바인딩"으로 나뉜다. Reflection은 언제 사용할까? - 동적으로 Class를 사용해야할 경우..

[IT]/JAVA 2023.11.23

[JAVA] OOP(객체 지향 프로그래밍)의 개념과 특징 (장단점/추상화/다형성/캡슐화/상속)

OOP(Object Oriented Programming)이란? 더보기 객체 지향 프로그래밍은 컴퓨터 프로그래밍의 패러다임 중 하나이다. 객체 지향 프로그래밍은 컴퓨터 프로그램을 명령어의 목록으로 보는 시각에서 벗어나 여러 개의 독립된 단위, 즉 "객체"들의 모임으로 파악하고자 하는 것이다. 각각의 객체는 메시지를 주고받고, 데이터를 처리할 수 있다. 출처 : https://ko.wikipedia.org/wiki/객체_지향_프로그래밍 OOP(객체 지향 프로그래밍)이란 문제를 여러 개의 객체 단위로 나눠 작업하는 방식으로 객체들이 서로 상호작용하는 프로그래밍 이론이다. 위와 같이 프로그램을 "객체"들의 모임으로 파악하는 것에 의미를 둔다. 또한, OOP는 코드 재사용성과 생산성의 향상 효과를 볼 수 있고,..

[IT]/JAVA 2022.05.04

[JAVA] Window10 JAVA 환경 변수 설정하기 (환경 변수 설정 이유)

먼저, 환경 변수를 설정하는 이유에 대해 알아본다. 환경변수란?' : 프로세스가 컴퓨터에서 동작하는 방식에 영향을 미치는, 동적인 값등의 모임 운영체제가 프로그램을 실행하기 위해 참조하는 변수를 찾기 쉽게 미리 설정하는 것이라 이해하면 쉽다. 이제, JAVA 환경변수를 설정해보자. (환경변수 설정 이전에 JDK 다운로드 먼저 진행해야 합니다. JDK 설치방법은 여기를 참고하세요.) 1. 제어판 > 시스템 및 보안 클릭 2. 시스템 > 정보 (아래로 스크롤) > 고급 시스템 설정 클릭 3. 고급 탭 > 환경 변수 > 시스템 변수 - 새로만들기 클릭 4. 시스템 변수 편집 (새로 만들기) 변수 이름 : JAVA_HOME 변수 값 : 본인 JDK 설치 폴더 (C:\Program Files\Java\jdk1.8..

[IT]/JAVA 2021.11.18

[REST][REST API] REST란 무엇일까?

REST / REST API는 평소 자주 듣는 단어이고 잘 알고 있다고 생각했지만, "REST API가 뭐야?" 라는 질문에 답을 쉽게할 수 없었다. 그래서, 좀 더 상세하게 공부하여 기록해보려한다. 1. REST 뜻? REST는 Representational State Transfer의 약자. 자원을 이름(자원의 표현)으로 구분하여 해당 자원의 상태(정보)를 주고 받는 모든 것. (즉, 자원(Resource)의 표현(Representation)에 의한 상태 전달) 더보기 즉, 자원(Resource)의 표현(Representation)에 의한 상태 전달 1) 자원(Resource)의 표현(Representation) - 자원 : 해당 소프트웨어가 관리하는 모든 것. (Ex. 문서, 그림, 데이터 ...)..

[IT]/JAVA 2020.12.29

[Java] 자바 데이터 타입, 변수 그리고 배열 / Primitive / reference / literal

목표 자바의 프리미티브 타입, 변수 그리고 배열을 사용하는 방법을 익힙니다. 학습할 것 프리미티브 타입 종류와 값의 범위 그리고 기본 값 프리미티브 타입과 레퍼런스 타입 리터럴 변수 선언 및 초기화하는 방법 변수의 스코프와 라이프타임 타입 변환, 캐스팅 그리고 타입 프로모션 1차 및 2차 배열 선언하기 타입 추론, var 1. 프리미티브(Primitive) 타입 종류와 값의 범위 그리고 기본 값 - 기본형(Primitive) 타입 총 8가지로 구성되며, 메모리의 Stack에 저장됨. 기본값이 있기 때문에 Null 이 존재하지 않음. 만약 기본형 타입에 Null을 넣고 싶다면 Wrapper 클래스를 사용해야함. 2. 프리미티브 타입(primitive type)과 레퍼런스 타입(reference type) ..

[IT]/JAVA 2020.12.06

[Java] Java Virtual Machine(자바 가상 머신) 이란 / 자바 소스 파일(.java)을 JVM으로 실행하는 과정 이해하기

목표 자바 소스 파일(.java)을 JVM으로 실행하는 과정 이해하기. 학습할 것 JVM이란 무엇인가 컴파일 하는 방법 실행하는 방법 바이트코드란 무엇인가 JIT 컴파일러란 무엇이며 어떻게 동작하는지 JVM 구성 요소 JDK와 JRE의 차이 JVM이란 무엇인가 Java Virtual Machine(자바 가상 머신)으로 Java ByteCode(.class)를 OS에 맞게 해석해주는 역할. Java와 OS 사이에서 중개자 역할을 수행하며, Java가 OS에 독립적으로 실행 및 재사용이 가능하게 한다. 특징 - OS에 상관없이 어느 운영체제에서 동작이 가능하도록 함 - Stack 기반의 가상 머신 - 메모리 관리, Garbage Collection을 수행 컴파일 하는 방법 컴파일(complie) 이란? : ..

[IT]/JAVA 2020.11.23