객체 지향 프로그래밍 OOP 특징 | 캡슐화, 추상화, 상속, 다형성
·
Language/Java
OOP(Object Oriented Programming) 문제를 여러 개의 객체 단위로 나눠 작업하는 방식으로 객체들이 서로 상호작용하는 프로그래밍 이론 객체들의 모임으로 파악하는 것 여러 독립적인 부품들의 조합, 즉 객체들의 유기적인 협력과 결합으로 파악하고자 하는 컴퓨터 프로그래밍의 패러다임을 의미 클래스를 이용하여 관련있는 처리(기능) 부분과 데이터 부분을 하나의 객체(인스턴스)로 묶어 생성하여 사용 캡슐화 (Encapsulation) 데이터와 코드의 형태를 함께 묶어 외부에서 알 수 없도록 하고, 데이터의 구조와 역할/기능을 하나의 캡슐형태로 구현하는 방법 캡슐화의 중요한 목적은 변수를 private 으로 선언하여 데이터를 보호하는 것 보호된 변수는 getter()/setter() 메소드를 통해..
Java sort() Arrays와 Collections
·
Language/Java
Java의 정렬 내장 함수 Arrays.sort() 와 Collections.sort()는 서로 다른 정렬 알고리즘으로 구현 int[] array = new int[]{1, 3 , 5, 4, 2}; Arrays.sort(array); List collection = new ArrayList(List.of(1, 3, 5, 4, 2)); Collections.sort(collection); Arrays.sort() Arrays.sort() 확인했을 때, 듀얼피봇 퀵정렬(Dual-Pivot QuickSort) 확인 듀얼피봇 퀵정렬(Dual-Pivot QuickSort) 피봇을 2개를 두고 3개의 구건을 만들어 퀵 정렬 진행하는 알고리즘 퀵소트보다 좋은 성능 Collections.sort() nlg(n) 비교보..