![thumbnail](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcEwQsw%2FbtrErWeW8pq%2FYglBwuAoItr87bjqDXx1Uk%2Fimg.png)
[java/객체 지향] 객체 지향 프로그래밍
2022. 6. 10. 16:37
몰아 넣기
객체지향과 절차지향? '절차지향'이 아닌 '절차적 프로그래밍'이라고 합니다. 사실 조금만 생각해보아도 프로그래밍의 기본 틀이 절차를 기반으로 두고 있는데 이 절차를 지향한다는 것도 이상하다. 객체지향 프로그래밍의 반대 개념이 절차지향이라고 오해하는 분들이 많은데 절대 반대개념이 아닙니다. 그렇기 때문에 정확한 표현으로 말하자면 '객체지향 프로그래밍(OOP : Object Oriented Programming)'과 절차적 프로그래밍 (PP : Procedure Programming)이라는 말이 더 정확합니다. 객체지향언어 기준 캡슐화, 다형성, 클래스 상속을 지원하는가? 데이터 접근 제한을 걸 수 있는가? 절차적 프로그래밍과 객체지향 프로그래밍 먼저 절차적 프로그래밍(Procedure Programming..
![thumbnail](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FnNgQD%2FbtrEtaJfMYJ%2FJwT3q4zeXKEpxoc7vxNsQ1%2Fimg.png)
[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",..
![thumbnail](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FctYCXV%2FbtrEoWytwnt%2FvIzKulep5zx3ButemK3hxk%2Fimg.png)
[java/stream] 스트림(stream)의 개념
2022. 6. 10. 13:27
몰아 넣기
들어가는 글 스트림의 내용을 한 페이지에 다 담는다면 너무 방대 할 것이다. 천천히 나도 익혀가면서 스트림에 대해서 정리할 예정이다. 현재는 간단한 스트림의 개념에 대해서 다룰 예정이다. 스트림(Stream) 이란? 스트림의 사전적 의미는 '흐르다' 또는 '개울'입니다. 프로그래밍에서의 스트림도 사전적 의미와 크게 다르지 않습니다. 다만, 여기서는 물이 흐르는 것은 아니고 '데이터의 흐름'을 말합니다. 자바에서 Stream은 컬렉션 등의 요소를 하나씩 참조해 함수형 인터페이스(람다식)를 통해 반복적인 작업의 처리를 가능하게 해준다. Stream이 반복적인 일의 처리가 가능하므로, 반복문(for-loop 등)을 대신해 Stream을 사용하는 경우가 많다. 📍 책에서는... 모던 자바 인 액션 - 스트림은 ..
![thumbnail](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbVUSCd%2FbtrEoLxDguP%2F1SnA3OUig7Y8BQMVJ86DWk%2Fimg.png)
[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..
![thumbnail](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbwk9RB%2FbtrEo8lRvWZ%2FcYjjNRasurumYL2MW9wZH0%2Fimg.png)
[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..
![thumbnail](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbC5ULi%2FbtrEreS6mSk%2FfW3N0JGEUO72GZziJC4bE0%2Fimg.png)
[java] 제네릭스(Generics)이란?
2022. 6. 10. 13:22
Java&Spring
제네릭스(Generics)이란? 다양한 타입의 객체들을 다루는 메소드나 컬렉션 클래스에 컴파일 시의 타입 체크를 해주는 기능을 의미합니다. 제네릭스를 왜 사용해야할까? 객체의 타입을 컴파일 시에 체크하기 때문에 안정성이 높아집니다. 의도하지 않은 타입의 객체가 저장되는 것을 막고 잘못된 형변환을 막을 수 있기 때문입니다! 제네릭스의 형식과 약어 제네릭스의 형식 public class 클래스명 {...} public interface 인터페이스명 {...} 자주 사용되는 타입인자 약어 - == Type - == Element - == Key - == Value - == Number - == Result 제네릭스를 활용한 예제 제네릭스를 우리는 이미 사용하고 있었는데요. 제네릭스를 가장 잘 사용한 예제는 바..
![thumbnail](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FQx0zb%2FbtrEtbH5jZP%2FuWZ2NbLPdXHEW17xESwVUK%2Fimg.png)
[java]String vs StringBuffer/StringBuilder
2022. 6. 10. 13:21
Java&Spring
String vs StringBuffer/StringBuilder String과 StringBuffer/StringBuilder 클래스의 가장 큰 차이점은 String은 불변(immutable)의 속성을 갖는다는 점 아래 코드를 보면 str 변수는 world라는 문자열을 추가해 hellow world로 변한 것 처럼 보이지만 그림을 보면 hello 라는 데이터는 그대로 남아있고 hellow world 가 따로 메모리에 생성되고 str 변수가 hello world를 가리키게 된것이다. String str = "hello"; // String str = new String("hello"); str = str + " world"; // [ hello world ] 문자열 추가,수정,삭제 등의 연산이 비번하게 ..
![thumbnail](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fm6UPo%2FbtrEsBAfw8C%2FxaHcK5BskZmkkvY0tKp4P0%2Fimg.png)
[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이 인식할..