Tech/Java5 JVM과 가비지 컬렉터 📌 알림 해당 글은 공부 목적으로 작성한 글입니다. 📌 JVM(Java Virtual Machine) JVM(Java Virtual Machine) 자바로 작성한 소스 코드를 해석해 실행하기 위한 컴파일러 프로그램이다. JVM은 OS로부터 메모리를 할당 받은 후 메모리를 용도에 따라 여러 영역으로 나누어서 관리한다. 스택 기반의 가상 머신 인텔x86 아키택처와 같은 하드웨어가 레지스터 기반으로 동작하는데 비해 JVM은 스택 기반으로 동작한다. 심볼릭 레퍼런스 기본 자료형(primitive data type)을 제외한 모든 타입(클래스와 인터페이스)을 명시적인 메모리 주소 기반의 레퍼런스가 아닌 이름만 가지고 있는 심볼릭 레퍼런스를 통해 참조한다. 가비지 컬렉션(Garbage Collection) 클래스 .. 2023. 1. 17. 객체 지향 vs 절차 지향 📌 알림 해당 글은 공부 목적으로 작성한 글입니다. 📌 객체 지향 프로그래밍(OOP) 객체 지향 프로그래밍(OOP) 특징 📌 절차 지향 프로그래밍(POP) 절차 지향 프로그래밍(POP, Procedure Oriented Programming)이란, 물이 위에서 아래로 흐르는 것처럼 순차적인 처리가 중요시 되는 프로그래밍을 말하며, 프로그램 전체가 유기적으로 연결되도록 만드는 프로그래밍 기법이다. 📌 절차 지향 프로그래밍의 특징 장점 1. 객체나 클래스를 만들 필요 없이 바로 프로그램을 코딩할 수 있다. 2. 객체 지향 프로그래밍에 비해 대체적으로 빠르다. 3. 프로그램의 흐름을 쉽게 추적할 수 있다. 단점 1. 각 코드가 매우 유기성이 높기 때문에 수정하기가 힘들다. (새로운 데이터나 기능을 추가하기가 .. 2023. 1. 9. SOLID 원칙 📌 알림 해당 글은 공부 목적으로 작성한 글입니다. 📌 SOLID 소프트웨어 작업에서 프로그래머가 소스 코드가 읽기 쉽고 확장되기 쉽게 될 때까지 소프트웨어 소스 코드를 리팩터링하기 위한 원칙들을 말한다. 📌 SOLID 5대 원칙 S : 단일 책임 원칙(Single Responsible Principle) 객체는 단 하나의 책임만을 가져야 한다는 원칙 어떤 클래스나 모듈의 변경하려는 이유는 단 하나만 가져야 한다. O : 개방 폐쇄 원칙(Open Closed Principle) 클래스, 모듈, 함수와 같은 소프트웨어 개체는 확장에 대해 열려 있어야 하고 수정에 대해서는 닫혀 있어야 한다는 원칙 모듈 중 하나를 수정해야 할 때, 다른 모듈을 줄줄이 고쳐야 한다면 이와 같은 프로그램은 수정하기가 어렵다. L.. 2023. 1. 9. OOP(객체 지향 프로그래밍) 📌 알림 해당 글은 공부 목적으로 작성한 글입니다. 📌 OOP(Object-Oriented Programming) 명령형 프로그래밍 방법론 중 하나로, 프로그램을 단순히 데이터와 처리 방법으로 나누는 것이 아니라, 프로그램을 수많은 '객체(Object)'라는 기본 단위로 나누고 이들의 상호작용으로 서술하는 프로그래밍 패러다임이다. 📌 OOP 특징 1. 캡슐화(Encapsulation) 변수와 함수를 하나의 단위로 묶는 것 캡슐화는 클래스를 통해 구현되고, 해당 클래스의 인스턴스 생성을 통해 클래스 안에 포함된 멤버 변수화 메서드에 쉽게 접근할 수 있다. 2. 추상화(Abstraction) 객체의 공통적인 속성과 기능을 추출하여 정의하는 것 불필요한 부분을 생략하고 객체의 속성 중 가장 중요한 것에만 중점.. 2023. 1. 5. 이전 1 2 다음