이론 정리 153

java배열 다중 정렬하기

2차원 배열의 정렬의 경우 int arr[] = {{1,1}, {1,4}, {3,4}, {1,2}}; 이렇게 되어있는 배열 arr을 [1,1][1,2][1,4][3,4] 이렇게 배열하려면 Arrays.sort(arr, (o1, o2) -> { if(o1[0] == o2[0]){ return Integer.compare(o2[1], o1[1]); }else{ return Integer.compare(o2[0], o1[0]); } }); 이런 식으로 해 주면 된다. 그러면 만약에 2번, 3번, 4번....이렇게 더 비교하려면 어떻게 할까? Arrays.sort(arr, (o1, o2) -> { if(o1[0] == o2[0]){ if(o1[1]==o2[1]{ return Integer.compare(o2[2..

이론 정리/java 2021.09.06

패캠 - java/spring 웹 개발 강의 수업 정리(2)

객체지향의 4대 특징 1. 캡슐화 객체의 속성을 보호하기 위해 사용 ex) 컴퓨터 본체 안에 부품이 많이 있는데, 실제로 해당 부품에 전기를 공급할 필요 없이 컴퓨터 전원을 누르면 켜짐. method설계 - 속성이 선언되었으나, 이의 상태를 변경하는 method가 없다면 잘못 선언된 속성이다. 즉 자신이 가지고 있는 속성에 대해서는 해당 상태를 변경하는 기능을 제공해야 한다. - 실물 객체가 가진 기능을 모두 제공해야 한다. - 각각의 Method는 서로 관련이 있어야 한다. - 객체 안의 Method는 객체 안의 속성을 처리해야 하며, 다른 객체를 전달받아 해당 다른 객체에 정의된 속성을 직접 처리하면 안된다. 즉 자신의 속성만을 처리해야 한다. (혹시 외부에서 가져온다면 객체의 형태가 아니라 매개변수..

이론 정리/java 2021.06.28

패캠 - java/spring 웹 개발 강의 수업 정리(1)

객체 지향 예전에는 C언어와 같은 절차 지향 언어가 주를 이루었다. '절차 지향'이란, 실행하고자 하는 순서대로 명령어를 입력하여 실행하는 방법이다. 과거에는 프로그램의 단위가 크지 않았고, 간단한 logic을 순차적으로 처리했기 때문에 절차지향을 사용했는데, 이후 컴퓨터가 발전하면서 프로그램이 복잡해져 유지보수, 개발기간 등 부분에서 비효율이 발생하였다. 이 어려움을 해결하기 위해 객체지향이 도입되었다. '객체지향'이란, 현실에 존재하는 사물을 있는 그대로 모델링하여, 이들의 행위와 속성을 정의하고 절차적이 아닌 객체가 중심이 되어 실제 사물이 동작하는 방식으로 설계한 것이다. 사물(객체), 행위(Method), 사물의 속성(변수-variable)을 사용하였다. 자바와 C++의 차이 java는 시스템 ..

이론 정리/java 2021.06.28