CS/Java
-
[JAVA] 함수형 프로그래밍CS/Java 2021. 8. 7. 18:31
📝 함수형 프로그래밍 💻 명령형 프로그래밍(절차지향, 객체지향) ✔ 어떻게 할지 표현한다. 알고리즘을 명시하고, 목표는 명시하지 않는다. 🔧 명령형 프로그래밍의 특징 어플리케이션의 상태가 공유되고, 객체의 메서드와 함께 배치된다. 상태와 상태를 변경시키는 관점에서 연산을 설명한다. 🔧 간단한 명령형 프로그램을 작성해 보자. with JAVA for(int i = 0; i < 10; i++) { System.out.println(list.get(i); } i를 출력하기 위한 로직은 명시되어 있지만, 위 로직이 출력만을 위한 로직이라고 할 수는 없다. 이 과정에서 i라는 변수에 대한 값이 변경된다. 💻 선언형 프로그래밍(함수형) ✔ 어떻게 보다는 무엇을 하는지 설명하는 방식이다. 알고리즘을 명시하지 않고 목..
-
[JAVA] Garbage CollectorCS/Java 2021. 7. 17. 21:37
📝 Garbage Collector ✨ 해당 글은 아래 [10분 테코톡]을 듣고 작성했습니다.✨ 🙋♀️ 먼저 JVM에 대해 간단하게 알아보고 가자. OS의 메모리 영역에 접근하여 메모리를 관리하는 프로그램이다. 자바 바이너리 코드(.class) 를 읽고 검증하며 실행 환경의 규격을 제공한다. 메모리 관리, GC를 수행한다. 📌 GC란 무엇일까? 🔎 먼저 간단하게 알아보자. - Garbage Collector 동적으로 할당된 메모리 영역 중 사용하지 않는 영역을 탐지하여 메모리에서 해제하는 기능을 제공한다. 🔎 동적으로 할당된 메모리란 무엇일까? - JVM의 Runtimdata Area JVM의 메모리 영역으로 자바 어플리케이션 실행시 사용되는 데이터를 적재하는 영역이다. Method, Stack, He..
-
JAVA - 프레임워크, 라이브러리CS/Java 2021. 3. 1. 19:57
프레임워크와 라이브러리 프레임워크란? 완성된 제품을 만들기 위해 개발자를 도와주거나 기반이 되는 역할을 한다. 기본적인 뼈대가 완성되어 있고 규칙이 존재하는 개발 환경이다. 라이브러리란? 개발 시 활용 가능한 도구들을 모아 놓은 것을 말한다. 프레임워크와 라이브러리의 차이점 라이브러리) 동작하는 중에 필요한 기능이 있을 때 능동적으로 라이브러리를 사용한다. 프레임워크) 어플리케이션 코드가 프레임 워크에 의해 사용된다. (제어의 역전) reference mangkyu.tistory.com/4 blog.metafor.kr/138
-
JAVA - 디자인 패턴CS/Java 2021. 3. 1. 19:35
디자인 패턴 디자인 패턴 이란? 기존의 환경 내에서 반복적으로 일어나는 문제들을 어떻게 풀어나갈 것인가에 대한 일종의 솔루션이다. 즉, 설계자들이 올바른 설계를 빠르게 만들 수 있도록 도와준다. GoF의 디자인 패턴 - 객체지향적 디자인 패턴을 카테고리화 한것. 1. 생성 패턴: 객체 생성과 관련된 패턴 Singleton: 객체를 하나만 생성하도록 하며, 생성된 객체를 어디에서 든지 참조할 수 있다. 그러나 여러 프로세스는 동시에 참조할 수 없다. Builder: 작게 분리된 인스턴스를 건축하듯 조합하여 객체를 생성한다. 객체의 생성 과정과 표현 방법을 분리하여 동일한 객체 생성에도 서로 다른 결과를 만들어 낼 수 있다. 2. 구조 패턴: 클래스나 객체를 조합해 더 큰 구조를 만드는 패턴 Proxy: 접..
-
JAVA - 데이터 타입, 변수CS/Java 2021. 2. 28. 22:20
데이터 타입과 변수 데이터 타입 프로그래밍 언어에서 사용할 수 있는 데이터의 종류를 말한다. 원시타입(boolean, number, string등), 객체타입(Object) 으로 구분할 수 있다. 변수 프로그램에서 사용되는 데이터를 일정 기간 동안 기억하여 필요한 때에 다시 사용하기 위해 데이터에 고유한 이름인 식별자를 명시한 것이다. 변수에 명시한 고유 식별자를 변수명이라고 하고 변수로 참조할 수 있는 데이터를 변수값이라고 한다. reference poiemaweb.com/js-data-type-variable
-
JAVA - ServletCS/Java 2021. 2. 28. 19:31
Servlet(서블릿) Servlet이란? 클라이언트의 요청을 처리하고, 그 결과를 반환하는 Servlet클래스의 구현 규칙을 지킨 자바 웹 프로그래밍 기술이다. 서버에서 웹 페이지 등을 동적으로 생성하거나 데이터 처리를 수행하기 위해 JAVA로 작성된 코드이며, JAVA코드 안에HTML태그가 삽입되어 있다. MVC구조 패턴에서 브라우저로부터 리퀘스트를 받는 컨트롤러 역할을 한다. Servlet 컨테이너 서블릿의 생명주기를 관리하고 요청에 따른 쓰레드를 생성해준다. 클라이언트의 요청을 받고 응답을 보낼 수 있게 웹 서버와 소켓을 만들어서 통신을 해준다. WAS는 웹 서버와 웹 컨테이너(서블릿 컨테이너)의 결합이다. reference velog.io/@hygoogi/%EA%B8%B0%EC%88%A0-%EB..
-
JAVA - 문자열 선언CS/Java 2021. 2. 27. 17:55
문자열 선언 리터럴로 문자열 할당 String str1 = "abcd"; String str2 = "abcd"; 상수풀에 문자열이 할당되며 같은 데이터가 존재하면 해당 데이터의 주소를 참조한다. 리터럴로 할당된 문자열은 == 연산을 할 수 있다. 즉, 위와 같은때 str1 == str2는 true가 된다. 객체로 문자열 할당 String str1 = new String("abcd"); String str2 = new String("abcd"); 메모리의 heap영역에 새로운 영역을 할당한다. 객체로 할당된 문자열은 서로 다른 주소값을 가지기 때문에 == 연산으로 내용이 같은지 확인할 수 없다. reference velog.io/@hygoogi/%EA%B8%B0%EC%88%A0-%EB%A9%B4%EC%A0..
-
JAVA - 클래스, 객체, 인스턴스CS/Java 2021. 2. 27. 17:42
클래스, 객체, 인스턴스 클래스 객체를 정의하는 틀 또는 설계도이다. 유사한 특징을 지닌 객체들의 속성을 묶어놓은 집합체이다. 객체 소프트웨어 세계에서 구현할 대상이다. 클래스의 인스턴스라고도 한다. 인스턴스 클래스를 바탕으로 소프트웨어 세계에서 구현된 실체이다. 실체화된 인스턴스는 메모리에 할당된다. reference velog.io/@hygoogi/%EA%B8%B0%EC%88%A0-%EB%A9%B4%EC%A0%91-%EC%A7%88%EB%AC%B8-%EB%AA%A8%EC%9D%8C www.tcpschool.com/java/java_class_intro m.blog.naver.com/highkrs/220201921836 cerulean.kkennib.com/149