Java.
Java는 네트워크 상에서 쓸 수 있도록 미국의 Sun마이크로시스템사가 개발한 객체 지향 프로그래밍 언어.
OOP란.
OOP란 Object-Oriented Programming의 약어로써 객체지향 프로그래밍을 의미.
데이터를 객체로 취급하여 프로그램에 반영한 것이며, 순차적으로 프로그램이 동작하는 기존의 것들과는 다르게,
객체와 객체의 상호작용을 통해 프로그램이 동작하는 것을 말한다.
특징으로는 높은 코드 재사용성, 코드의 변경이 용이, 개발속도 향상, 상속을 통한 장점 극대화.
자바 Collection(List, Set, Map).
자바 Collection은 자바에서 기본적인 자료구조를 제공하기 위한 환경.
List는 순서가 있는 집합으로 데이터의 중복을 허용한다.
Set은 순서를 유지하지 않는 데이터의 집합으로 데이터의 중복을 허용하지 않는다.
또한 Map은 키와 값의 쌍으로 이루어진 데이터의 집합으로 키는 중복을 허용하지 않으나 값은 중복이 가능한 것을 말한다.
Overloading(오버로딩)과 Overriding(오버라이딩)의 차이.
오버로딩은 같은 이름의 메소드를 여러 개 정의하는 것으로 매개 변수의 타입이 다르거나 개수가 다른 것을 의미한다.
오버라이딩은 상속에서 나온 개념으로 상위 클래스 즉 부모 클래스의 메소드를,
하위 클래스 즉 자식 클래스에서에서 재정의 하는 것을 의미한다.
부모 클래스의 메소드를 재정의 할 경우 extends 키워드를 사용한다.
Interface(인터페이스).
implements 키워드를 사용하고 일종의 추상클래스로 추상 메서드와 상수만을 맴버로 가진다.
상속과 관계가 없는 클래스 간 서로 공동되는 로직을 구현하여 쓸 수 있도록 한다.
Abstract(추상클래스).
추상메소드를 하나 이상 가진 클래스로 자신의 생성자로 객체 생성이 불가능 하여 하위 클래스를 참조하여 상위 클래스의 객체를 생성한다.
인터페이스와 추상클래스의 공통점 및 차이점.
공통점으로는 new 연산자로 객체 생성이 불가능하며 사용하기 위해서는 하위 클래스에서 확장/ 구현해야 하는 점이다.
차이점으로는 추상 클래스의 경우추상 메서드를 자식 클래스가 구체화하여 그 기능을 확장하는 데 목적이 있다.
인터페이스는 서로 관련이 없는 클래스에서 공통적으로 사용하는 방식이 필요하지만 기능을 각각 구현할 필요가 있는 경우에 사용한다.
Call by Reference vs Call by Value.
Call by References:
매개변수의 원래 주소에 값을 저장하는 방식, 클래스 객체를 인수로 전달한 경우.
Call by Value:
인수로 기본 데이터형을 사용하고 주어진 값을 복사하여 처리하는 방식.
메서드 내의 처리 결과는 메서드 밖의 변수에 영향을 미치지 않는다.
'Backend' 카테고리의 다른 글
Spring Annotation (0) | 2021.09.11 |
---|---|
자바 개념 정리_05 (0) | 2021.09.05 |
자바 개념 정리_04 (0) | 2021.08.02 |
자바 개념 정리_03 (0) | 2021.08.01 |
자바 개념 정리_02 (0) | 2021.07.30 |