[java/객체 지향] 객체 지향 프로그래밍
2022. 6. 10. 16:37
몰아 넣기
객체지향과 절차지향? '절차지향'이 아닌 '절차적 프로그래밍'이라고 합니다. 사실 조금만 생각해보아도 프로그래밍의 기본 틀이 절차를 기반으로 두고 있는데 이 절차를 지향한다는 것도 이상하다. 객체지향 프로그래밍의 반대 개념이 절차지향이라고 오해하는 분들이 많은데 절대 반대개념이 아닙니다. 그렇기 때문에 정확한 표현으로 말하자면 '객체지향 프로그래밍(OOP : Object Oriented Programming)'과 절차적 프로그래밍 (PP : Procedure Programming)이라는 말이 더 정확합니다. 객체지향언어 기준 캡슐화, 다형성, 클래스 상속을 지원하는가? 데이터 접근 제한을 걸 수 있는가? 절차적 프로그래밍과 객체지향 프로그래밍 먼저 절차적 프로그래밍(Procedure Programming..
[java/stream] 스트림(stream) 사용방법
2022. 6. 10. 13:29
몰아 넣기
들어가는 글 스트림(Stream)은 기본 사용법을 이용해 활용하는 방법은 무궁무진한게 스트림(Stream)이라고 생각이든다. 그리고 스트림(Stream)은 단순 반복문을 위한 기능이 아닌 데이터 가공에 의미가 있다고 생각이 든다. 스트림 사용법 스트림 생성 1.스트림 컬렉션 자바의 스트림을 사용하려면 우선 스트림 객체를 생성해야한다. // 1. ex) List list = Arrays.asList("A","B","C"); Stream stream = list.stream(); // 2. ex) void test(List boardList) { Stream stream = boardList.stream(); } 2.스트림 배열 배열의 경우 정적 메소드를 이용하면 된다. String[] arr = {"a",..
[java/stream] 스트림(stream)의 개념
2022. 6. 10. 13:27
몰아 넣기
들어가는 글 스트림의 내용을 한 페이지에 다 담는다면 너무 방대 할 것이다. 천천히 나도 익혀가면서 스트림에 대해서 정리할 예정이다. 현재는 간단한 스트림의 개념에 대해서 다룰 예정이다. 스트림(Stream) 이란? 스트림의 사전적 의미는 '흐르다' 또는 '개울'입니다. 프로그래밍에서의 스트림도 사전적 의미와 크게 다르지 않습니다. 다만, 여기서는 물이 흐르는 것은 아니고 '데이터의 흐름'을 말합니다. 자바에서 Stream은 컬렉션 등의 요소를 하나씩 참조해 함수형 인터페이스(람다식)를 통해 반복적인 작업의 처리를 가능하게 해준다. Stream이 반복적인 일의 처리가 가능하므로, 반복문(for-loop 등)을 대신해 Stream을 사용하는 경우가 많다. 📍 책에서는... 모던 자바 인 액션 - 스트림은 ..
[java/collection] 스택(stack), 큐(queue), ArrayDeque 대해서
2022. 6. 10. 13:25
몰아 넣기
스택이란?(stack) 스택은 마지막에 저장한 데이터를 가장 먼저 꺼내는 자료구조로 입니다. 이것을 LIFO(Last In First Out) 라고 합니다. 웹브라우저의 앞페이지 이동 뒤페이지 이동 / 그릇 쌓기 대표예시입니다. 아래 그림을 보도록 하죠. 먼저 삽입된 값인 17이 가장 아래로, 이후 삽입되는 값은 그 위에 쌓이기 시작합니다. 이후, pop()을 통해 값을 반환할 때도 마지막에 삽입된 값인 45가 가장 먼저 반환되죠! 예제 public class Main { public static void main(String[] args) { Stack stack = new Stack(); stack.push(1); stack.push(3); stack.push(5); stack.push(7); Sys..
[java/collection] 리스트(list), 셋(set), 맵(map) 대해서
2022. 6. 10. 13:24
몰아 넣기
List ArrayList는 배열을 이용하여 데이터를 저장하는 List 인터페이스입니다 순서가 있는 나열된 데이터를 표현합니다. 예제 public class Main { public static void main(String[] args) { List list = new ArrayList(10); list.add(1); list.add(5); list.add(4); list.add(11); list.add(10); // ArrayList에 값 한개씩 입력 System.out.println(list); // [1,5,4,11,10] Collections.sort(list); // list 정렬 System.out.println(list); // [1,4,5,10,11] System.out.println(l..
[java] JVM,JRE,JDK
2022. 6. 10. 13:20
몰아 넣기
JVM,JRE,JDK 구별하기 JVM (Java Virtual Machine) 이란? Java Virtual Machine의 줄임말. 직역하면 '자바를 실행하기 위한 가상 기계(컴퓨터)'라고 할 수 있다. Java 는 OS에 종속적이지 않다는 특징을 가지고 있다. OS에 종속받지 않고 실행되기 위해선 OS 위에서 Java 를 실행시킬 무언가가 필요하다. 즉, OS에 종속받지 않고 CPU 가 Java를 인식, 실행할 수 있게 하는 가상 컴퓨터이다. Java 소스코드, 즉 원시코드(*.java)는 CPU가 인식을 하지 못하므로 기계어로 컴파일을 해줘야한다. 하지만 Java는 이 JVM 이라는 가상머신을 거쳐서 OS에 도달하기 때문에 OS가 인식할 수 있는 기계어로 바로 컴파일 되는게 아니라, JVM이 인식할..
[java] JSONObject, JSONArray 이용하기
2022. 6. 10. 13:19
몰아 넣기
자바에서 JSON 파싱하기 첫번째 : JSONObject, JSONArray 이용하기 JSONObject, JSONArray 이용하기 restTeamplate를 이용한 데이터를 받았을 경우 // 데이터를 받은 ResponseEntity타입의 객체를 getBody() 이용하여 String 객체에 대입한다. String result = responseEntity.getBody(); // result데이터를 JSONObject 객체로 변환한다. JSONObject rjson = new JSONObject(result); // JSONObject 객체는 Key : value 형태이기 때문에 .getJSONArray("key") 로 값을 확인 할 수 있다. JSONArray items = rjson.getJSON..
[java] Arrays의 메소드
2022. 6. 10. 11:17
몰아 넣기
자바 Arrays의 메소드 String[] a = {"a","b","c","d"}; int[] b = {1,5,5,7,3,3,42,6,8,45323,4,63,2,1}; .asList(T..a) 배열을 ArrayList로 변환해준다. Arrays.asList(a); .toString() 배열에도 toString이 존재한다. toString이라는 메소드는 클래스에서 ALT+SHIFT+S를 누른 후 Generate toString을 이용해 오버라이딩할 수 있다. System.out.println(Arrays.toString(b)); Sort(array) 정렬은 쓰이는 곳이 굉장히 많은데 기본적으로 Sort()를 하면 오름차순 정렬이 된다. 정수형 배열을 내림차순 정렬하고 싶으면 반복문으로 배열을 뒤에서부터 꺼..