본문 바로가기

* Web/[Back] Java21

[자바 Java] 쉽게 이해하는 가비지 컬렉션(Garbage Collection) 개념 이 글은 가비지 컬렉션의 원리를 담은 글이 아니다. 가비지 컬렉션이라는 그림을 이해하기 위한 글이다. 자바 영역을 공부하다보면 가비지 컬렉션이라는 개념이 있다. 이 개념에을 단어의 범주안에서 풀어서 이해한다면, 쉽게 이해 할 수 있을 것이다. Garbage : 쓰레기 Collection : 수집 쓰레기(메모리에 있는 쓰레기를) 수집(알아서 수집해준다) 그렇다면 누가? JVM이라는 가상머신이 그림으로 상세히 이해하기 메모리의 힙 영역에 다음과 같은 정보들이 저장이 된다. 하지만 X라는 정보가 찌꺼기로 남아 있는 상태에서는 메모리의 입장에서 효율성이 매우 떨어질 수 밖에 없다. 이러한 메모리의 관리를 자바 가상머신(JVM)에서 Garbage Collection 이라는 개념으로 메모리를 알아서 최적화를 시켜준.. 2021. 8. 26.
[Java 자바] 코딩 테스트 입문자를 위한 static 개념 static에 대한 개념을 책으로 수백번 찾아 보는것보다는 코드로 이해하는게 100배 나았던 경험이 있다. 코드로 한번에 static 개념을 이해해보자. 우선 가져가야 하는 큰 개념은 아래와 같다. ``` 1) 온라인 컴파일러(Repl.it or 프로그래머스 에서 제공하는 컴파일러 등)가 시작 함수를 main class의 main method를 지정 해야 한다. 그렇기에, 초기 프로그램 실행 시 시작 함수 (main method)를 호출해야만 한다. 2) main method가 memory에 있어야 한다. (그래야 실행되니까) 3) memory(메모리)에 있으려면? -1) static으로 선언을 하거나 -2) new Class()(생성자 형태로) ``` 형태로 만들어야 한다. 이때 클래스이름이 무조건 M.. 2021. 7. 5.
[Java 자바] 클래스(class) 개념과 학습방향 한방에 이해하기 이글은 자바에 해당하는 클래스의 개념에 대해 적어놓은 글입니다. 자바를 처음 입문하신 분들에게 클래스가 무엇이고, 어떻게 쓰이는지 혹은 어디서 어떻게 클래스 정보를 가져오는지에 대한 가장 원초적인것에 초점을 맞춰 기술 하였습니다. System.out.println() 뭐지?.. 아마 c언어를 먼저 하신분들이 java로 넘어오면서 드는 생각은 아래와 같을 것 입니다. c언어에서 pirntf()로 표현되는것과 달리 자바에서는 System.out.printf()이라는 표현을 바탕으로 출력을 하고 있습니다. 참 아이러니 합니다. 그렇다면 왜 이렇게 쓸까요? 결론부터 말하면 아래와 같습니다. 우선 System.out.println()에서 System을 호출하기 위해서는 아래와 같은 패키지에서 불러오게 됩니다. S.. 2021. 7. 4.
[Java 자바] 문자열에서 ==와 equals() 코딩테스트를 준비하다가, 문자열 같다는 표기에서 자꾸 오류가 나서 알아보니 다음과 같더라... Problem) 문제를 정의하면 다음과 같다. 1. 단순한 변수를 선언 했을 때 비교와 2. 생성자를 통해 변수를 생성했을 때의 비교 Solution) 자바 ==와 equals() 차이 알아보기 자바 처음 하면 다들 하는 실수인데 나도 처음에 이걸로 개삽질 꽤 한거 같다 보면 String a나 b나 똑같은 haha라 비교 시 당연히 True가 뜰 것 같은데 예상을 뒤엎고 false가 뜬다 아니 똑같은 haha인데 flatsun.tistory.com 2021. 6. 19.
[Java] 자바 : 클래스에서 객체 생성을 막는 abstract 클래스에서 객체를 만드는 것을 인스턴스화라고 한다. 클래스에서 객체를 생성하는게 가능하다면, 반대로 클래스에서 객체를 생성 하는것을 막는것도 가능하다. 바로 이러한 역할을 해주는 것이 abstract이라는 키워드이다. - 추상 클래스 : 객체 생성을 막음 class Main { // 객체 생성 호출 시 오류 발생 } asbtract class A { } - 추상 메서드 : 메서드 본체가 없는 메서드 abstract void test(String target); 추상 메소드를 포함하는 클래스의 경우에는 클래스 자체의 경우에도 추상 클래스로 선언을 해줘야 한다. 2021. 3. 22.