JavaBeans
2022. 1. 25. 21:36
개발 지식/JAVA 기본 지식
JavaBeans JavaBean의 정의 데이터를 표현하는 것을 목적으로 하는 자바 클래스 컴포넌트와 비슷한 의미로도 사용됨 JavaBean 규격서에 따라 작성된 자바 클래스를 가리킴 EJB(Enterprise Java Beans) 와 혼동해선 안됨 JavaBeans의 관례 클래스는 패키지화 하여야 한다. 클래스는 직렬화 되어야 한다. (클래스의 상태를 지속적으로 저장 혹은 복원시키기 위해) implements java.io.Serializable 클래스는 기본 생성자를 가지고 있어야한다. public TestClass() {} 멤버변수는 프로퍼티(Property)라 칭한다. 프로퍼티의 접근자는 private이다. 프로퍼티마다 getter/setter 가 존재해야 하며, 그 이름은 각각 get/set으로..
POJO(Plain Old Java Object)
2022. 1. 24. 18:35
개발 지식/JAVA 기본 지식
POJO Plain Old Java Object, 간단히 POJO는 말 그대로 해석을 하면 오래된 방식의 간단한 자바 오브젝트라는 말로서 Java EE 등의 중량 프레임워크들을 사용하게 되면서 해당 프레임워크에 종속된 "무거운" 객체를 만들게 된 것에 반발해서 사용되게 된 용어이다. 2000년 9월에 마틴 파울러, 레베카 파슨, 조쉬 맥킨지 등이 사용하기 시작한 용어로서 마틴 파울러는 다음과 같이 그 기원을 밝히고 있다. - 위키백과 오래된 방식의 간단한 오브젝트란? 특정 '기술'에 종속되어 동작하는 것이 아닌 순수한 자바 객체를 의미 예를 들어 특정 기술을 사용할 때 특정 프레임워크만 그 기술을 지원하여, 특정 프레임워크에 직접 의존해야 하는 순간 POJO라고 할 수 없음. 특정 기술(프..
OOP(Object Oriented Programming 객체 프로그래밍) 정리
2022. 1. 24. 18:34
개발 지식/JAVA 기본 지식
객체지향 OOA(Object Oriented Analysis) : 객체 분석 OOD(Object Oriented Design) : 객체 설계 OOP(Object Oriented Programming) : 객체 프로그래밍 객체지향 키워드 클래스(Class) 오브젝트(Object) 캡슐화(Encapsulation) 상속성(Inheritance) 다형성(Polymorphism) 클래스(Class) 클래스(class) = 추상화(abstract) 클래스는 표현 대상의 특징에 대한 서술을 의미 (공통적인 특징을 서술) 추상은 사용자가 구체적인 내용을 생각하지 않고도 사용하는 기능 프로시져 추상화 : 함수 데이터 추상화 : 구조체, 배열, 포인터 attribute = data = member variables = ..
클래스 로더 (Class Loader)
2022. 1. 22. 20:37
개발 지식/JAVA 기본 지식
JVM의 클래스로더에 대해 조금 더 자세히 정리하려고 한다 JVM에서의 클래스 로더(Class Loader)의 역할 JAVA 컴파일러(javac)를 통해 변환된 Class 파일(바이트 코드)을 읽어서 메모리에 배치 클래스 로더 실행 순서 실행 순서는 로딩, 링크, 초기화 순으로 이루어 진다 로딩(Loading) .class 파일을 읽고 그 내용에 따라 적절한 바이너리 데이터를 만들고 메소드 영역에 저장 메소드 영역에 저장하는 데이터 종류 Class Interface Enum FQCN(Fully Qualified Class Name) (object, 함수, 변수의 계층적 구조를 모두 포함하여 표현하는 것. Java의 경우 클래스가 포함된 패키지를 의미함) String str = new String(); /..
매번 까먹는 JVM 정리
2022. 1. 22. 19:19
개발 지식/JAVA 기본 지식
매번 까먹는 것 같아서 생각난김에 정리해두려고 한다. JVM 이란? Java Virtual Machine 자바 가상 머신의 약자 Class 파일(자바 바이트 코드)을 OS에 특화된 코드로 변환하여 실행 (OS 환경에 구애받지 않고 재사용 가능하도록 중개 역할) GC(Garbage Collection)를 통해 메모리 관리 JAVA는 컴파일러 언어인데 JVM을 통해 인터프리터 방식으로 동작 JVM 기반 언어 Java, 클로저, 그루비, JRuby, Jython, Kotlin, Scala 등등.. JVM 구조 JVM 실행 순서 OS로 부터 메모리를 할당 받음 JAVA 컴파일러(javac)를 통해 JAVA 파일을 Class 파일(바이트 코드)로 변환 클래스 로더 시스템을 통해 바이트 코드를 읽음 로딩: Clas..