본문 바로가기

Java

(4)
Garbage Collector (GC) 코딩을 하다보면 수 많은 함수 내에서 여러가지 변수와 객체들을 선언 및 생성하여 사용한다.fun main(){ val obj = Something()}class Something{}Java의 객체는 JVM 가상 메모리 영역 중 Heap 영역에 저장이 된다.서버 또는 애플리케이션 등 실행 과정에 있어 수 많은 객체들을 사용하게 되는데 사용 후 더 이상 사용하지 않는, 참조되지 않는 객체들은 메모리 누수(Memory Leak)를 방지하기 위해 개발자가 직접 메모리에서 회수해야 한다.하지만 모든 사람은 실수를 하듯, 모든 객체를 완벽하게 관리하기란 불가능에 가깝다.Java에는 사용하지 않는 객체를 자동으로 메모리에서 회수해주는 Garbage Collector가 존재한다. JVM 메모리다음과 같은 코드를 ..
HttpUrlConnection Http 네트워크 통신의 가장 기본이 되는 HttpUrlConnection은 Java에서 제공하는 클래스로, HTTP 통신에 필요한 메서드들을 제공한다. 네트워크 작업할 땐 Retrofit, Okhttp 등을 사용하기 때문에 직접적으로 HttpUrlConnection을 사용할 일은 매우 적겠지만 어떻게 사용하는지 간단하게 알아보자. 1. URL 연결val url = URI(URL).toURL()val httpUrlConnection = url.openConnection() as HttpURLConnectionhttpUrlConnection.apply { connectTimeout = 5000 requestMethod = "GET" doInput = true}URL.openConnectio..
[JAVA] 인터페이스 기본 개념 자바를 사용하다보면 인터페이스를 사용할 때가 온다. 그럼 인터페이스는 무엇일까? 인터페이스는 일종의 가이드북, 설계도라고 볼 수 있다. 그렇다면 인터페이스는 왜 필요할까? 인터페이스의 필요성 자바에서는 상속이라는 기능이 있다. 상속을 통해 다양한 동작을 수행할 수 있는 장점을 갖는다. 그러나 다중 상속을 할 경우 여러가지 문제 때문에 다중 상속을 할 수가 없다. 따라서 이를 보완하기 위해 인터페이스로 다중 상속을 대체한다. 인터페이스의 구조 인터페이스의 구조는 다음과 같다. interface Example{ public static final String name = "예제"; public abstract void Test(); public abstract void Test2(int a); } 인터페이스..
[Java] 객체 지향 프로그래밍에 입문하는 사람 또는 Java에 입문하는 사람이라면 무조건 들어봤을 객체 지향 그럼 객체 지향은 무엇일까? 우선 객체에 대해 알아야한다. 객체객체란 사전적인 정의로 실제 존재하는 것을 말한다. 그러나 프로그래밍에서의 객체는 필드(데이터들의 집합), 메소드(함수)들의 집합이라고 보면 된다. 필드String name;Int grade; 메소드void example(){...}void example2(){...} 또한 필드와 메소드들을 담고 있는 일종의 케이스가 바로 클래스이다. 클래스public class Example { String name; int grade; void example(){...} void example2(){...}}  객체 지향의 특징1. 추상화추상화란 과정은 감추면서 결과..