본문 바로가기

Java6

[Java] 객체 지향 프로그래밍 (OOP: Object-Oriented Programming) 객체 지향 프로그래밍이란? 객체 지향 프로그래밍(OOP: Object-Oriented Programming)은 컴퓨터 프로그램을 객체(Object)라는 여러 개의 독립된 단위의 모임으로 파악하고자 하는 컴퓨터 프로그래밍의 패러다임 중 하나이다. 각각의 객체는 메시지를 주고 받고, 데이터를 처리할 수 있다. 장점 강한 응집력 (Strong Cohesion) 응집력: 프로그램의 한 요소가 해당 기능을 수행하기 위해 얼마만큼의 연관된 책임과 아이디어가 뭉쳐 있는지를 나타내는 정도 클래스에 하나의 문제 해결을 위해 데이터를 모아 놓은 객체를 활용한 프로그래밍을 지향하므로 응집력 강화 약한 결합력 (Week Coupling) 결합력: 프로그램 코드가 한 요소가 다른 것과 얼마나 강력하게 연결되어 있는지, 얼마나 .. 2021. 4. 29.
[Java] JVM이란? 그리고 Garbage Collector JVM(Java Virtual Machine) 이란? 자바 애플리케이션을 클래스 로더를 통해 읽어 들여 이를 자바 API와 함께 실행하는 역할을 한다. 또한, JAVA와 OS 사이에서 중개자 역할을 수행하여 JAVA가 OS에 구애받지 않고 재사용을 가능하게 해준다. 그리고 가장 중요한 메모리 관리, Garbage Collection을 수행한다. JVM의 구성 Class Loader (클래스 로더) 자바 컴파일러에 의해 컴파일된 바이트코드(.class파일)을 JVM의 Runtime Data Area로 로드하는 역할을 한다. 이는 자바 애플리케이션이 실행 중일때 (runtime) 수행된다. Execution Engine (실행 엔진) 클래스 로더가 로드한 바이트코드를 실행시킨다. 이때 바이트코드(.class.. 2021. 4. 28.