2024/12/19 2

자바

ArrayList와 LinkedListArrayList는 배열을 이용해 리스트를 구현하므로 인덱스를 기반으로 요소에 빠르게 접근이 가능하다. 하지만 요소를 추가하거나 삭제할 때 배열의 크기를 변경해야하기 때문에 시간이 소요된다.LinkedList는 연결 리스트로 구현되어 삽입과 삭제 연산이 빠르지만 특정 요소에 접근할 때 순차적으로 접근해야해 시간이 소요된다.  추상 클래스와 인터페이스먼저 추상클래스는 추상메소드를 1개 이상 포함하고 있는 클래스를 말한다. 다중상속이 불가능하다.인터페이스는 추상메소드들로 이루어져있으며 다중상속이 가능하다.둘 다 추상화를 위한 개념이며 추상메소드는 자식 클래스에서 구현을 강제해야한다는 특징이 있다.추상 클래스는 공통된 메서드와 필드를 '상속받는 하위 클래스'에서 재사용하거..

[ STUDY ]/CS 2024.12.19

객체 지향 프로그래밍

객체 지향 프로그래밍의 특징객체 지향 프로그래밍은 객체 중심의 프로그래밍으로 상속, 캡슐화, 다형성, 추상화라는 특징을 가진다.상속이란 기존의 클래스를 기반으로 새로운 클래스를 정의하는 것캡슐화란 클래스안에 변수와 메소드를 묶어 정보를 은닉하여 객체 내부에 접근하지 못하도록 하는 것다형성이란 하나의 클래스나 객체가 다양한 형태로 기능하는 것추상화란 핵심적인 기능만 노출하고 세부적인 사항들은 노출하지 않는 것  오버로딩과 오버라이딩오버로딩은 동일한 이름의 메소드들이 각각 다른 타입이나 다른 갯수의 인자를 가지고 정의된 것을 말한다.오버라이딩은 부모 클래스에 있는 동일한 이름의 메소드를 재정의하는 것을 말한다.  다중 상속한 클래스가 여러 클래스를 상속 받는 것이다. 여러 부모 클래스를 가질 경우 중복되는 ..

[ STUDY ]/CS 2024.12.19