분류 전체보기62 Call by Value와 Call by Reference 란? 개요 메소드에 전달되는 변수의 데이터 타입에 따라서 메소드 호출 방식이 달라집니다. 메소드를 호출하는 방식으로는 Call By Value와 Call By Reference 2가지가 있습니다. Call by Value 란? - 메소드에 값을 전달할 때, 변수의 값을 복사해서 메소드에 전달하는 방식 특징 - 저장소를 공유하지 않음 - 기본 자료형 (int, short, long, float, double, char, boolean) - 값을 복사해서 전달했으므로 받은 인자의 값을 변경하더라도 변경되지 않음. 장점 - 복사하여 처리하기 때문에 안전하다. 원래의 값이 보존이 된다. 단점 - 복사를 하기 때문에 메모리가 사용량이 늘어난다. 예시 class TestValue { int x; } public clas.. 2021. 6. 29. 객체 지향 프로그래밍(OOP)란? OOP 란? Object Oriented Programing의 줄임말이며, 현실세계의 일부분을 객체로 만들어서 프로그래밍하는 방법 클래스란? 현실세계에 존재하는 물체에 대한 다양한 특징과 기능을 가진 설계도 객체란? '설계도(클래스)를 실체화한 것'입니다. - 인스턴스화: 클래스로부터 객체를 만드는 과정 - 인스턴스: 만들어진 객체를 그 클래스의 인스턴스 객체 지향 프로그래밍(OOP) 특징 1. 캡슐화 (Encapsulation) - 변수와 메서드를 하나의 단위로 묶어서 클래스로 만드는 것 - 외부에 노출할 필요가 없는 정보들은 은닉 (정보은닉) 세부 구현을 숨기는 목적은 클래스 내부 구현의 응집도(cohesion)를 높이고 외부 다른 클래스와의 결합도(coupling)을 낮추는 데 있습니다. 2. 상속.. 2021. 6. 22. GC(Garbage Collector) 란? 개요 시스템 엔지니어 일을 할 당시 자주 이슈가 되었던 GC에 대해서 공부한 후 정리하겠습니다. GC(Garbage Collector)란? JVM의 Heap 영역에서 사용하지 않는 객체를 제거하여 메모리 공간을 확보하는 데몬 스레드를 말합니다. * 가비지: 사용하지 않는 객체 GC의 종류 Serial GC - 싱글 스레드로 GC를 처리함 - 다른 GC에 비해 Stop-the-world 시간이 김 - JVM 옵션 -XX:+UseSerialGC - 순차적인 GC - Mark-Compact(Sweep 포함) 알고리즘 사용 Parallel GC - Java 8의 defailt GC - Young 영역의 GC를 멀티 스레드로 수행 - Serial GC에 비해 stop-the-world 시간 감소 Parallel .. 2021. 6. 19. JVM(Java Virtual Mahcine)이란? 개요 여러 언어를 다뤄보니 기술의 원리를 알아야 해결되는 문제들을 여러 번 만난 적이 있습니다. 당시에는 구글링으로 해결되면 넘어갔지만 따로 공부가 필요하다고 생각이 들어서 하나하나 정리해보겠습니다. JVM(Java Virtual Mahcine) 란? Java Virtual Machine의 약자로 바이트 코드로 컴파일된 자바를 실행시켜주는 가상 머신입니다. 자바 실행 환경 (java 컴파일 과정) 1) 자바 프로그램이 실행되면, JVM이 OS로부터 메모리를 할당 받음 2) 자바 컴파일러에 의해 자바 바이트 코드(. class)로 변환 3) 변경된 파일들을 class loader를 통해 JVM 메모리 영역(Runtime Data Area)으로 로딩함 - class loader : 런타임 시 클래스들을 로딩.. 2021. 6. 15. 이전 1 ··· 10 11 12 13 14 15 16 다음