면접 스터디(오버로딩/오버라이딩, RDB/NoSQL)
2023. 3. 2. 21:05ㆍ스터디/면접
Q. 오버로딩과 오버라이딩의 차이점은 무엇인가요?
오버로딩은 같은 이름의 메소드를 정의하되, 매개변수의 유형과 개수를 다르게 해서 여러 개의 메소드를 정의하는 것을 말합니다. 메소드의 다형성을 구현하는 방법 중 하나입니다.
오버라이딩은 부모 클래스로부터 상속받은 메소드를 자식 클래스에서 재정의하는 것을 말합니다. 상속받은 메소드를 그대로 사용할 수도 있지만, 자식 클래스에서 상황에 맞게 변경해야하는 경우 오버라이딩할 필요가 생깁니다.
1. 오버로딩
- 같은 이름의 메소드를 정의하되, 매개변수의 유형과 개수를 다르게 해서 여러 개의 메소드를 정의하는 것
- "리턴 값만" 다른 것은 오버로딩 할 수 없다.
- 메소드의 다형성을 구현하는 방법 중 하나
- 같은 기능을 하는 메소드를 하나의 이름으로 사용할 수 있다.
- 메소드의 이름을 절약할 수 있다.
- ex) println : int, double, boolean, string 등 다양한 타입의 매개변수를 넣어도 출력이 잘 됨.
2. 오버라이딩
- 부모 클래스로부터 상속받은 메소드를 자식 클래스에서 재정의
- 자식 클래스에서 상황에 맞게 변경해야하는 경우
- 오버라이딩하고자 하는 메소드의 이름, 매개변수, 리턴 값이 모두 같아야 한다.
즉, 오버로딩 - 기존에 없는 새로운 메소드 추가 / 오버라이딩 - 상속받은 메소드를 재정의
Q. RDB와 NoSQL은 무엇인가요? 차이점 또는 장단점 위주로 설명해주세요.
RDB(Relation Database)와 NoSQL(Not Only SQL)은 모두 테이터베이스의 한 종류입니다.
RDB는 데이터 일관성을 보장하고, 복잡한 쿼리 처리가 가능하며, 안정성과 보안성이 높습니다.
반면 NoSQL은 확장성과 유연성이 높고, 대량의 비정형 데이터를 처리하는데 더 효과적입니다.
1. RDB와 NoSQL
- 둘 다 데이터베이스의 한 종류입니다.
2. 차이점
- 데이터 저장 방식
- RDB : 데이터를 테이블 형태로 저장. 테이블 간 관계를 정의하여 데이터를 저장
- NoSQL : 데이터를 컬렉션, Docu, 키-밸류 등의 형태로 저장합니다. 데이터 모델링이 더 자유롭고, 스키마가 유동적으로 변경될 수 있습니다.
- 수평 확장성
- RDB : 수직 확장만 가능합니다. 서버 성능을 높이는 방법으로는 메모리나 CPU 등의 스펙을 높이는 방법만 있습니다.
- NoSQL : 수평 확장이 가능합니다. 여러 대의 서버를 추가하거나, 클라우스 서비스를 이용하여 노드를 늘릴 수 있습니다.
- 데이터 일관성
- RDB : 일관성 있는 데이터를 보장하는 ACID 트랜젝션을 지원.
- NoSQL : 데이터 일관성보다는 확장성, 유연성, 가용성을 중시하는 경우가 많음.
- 쿼리 방식
- RDB : SQL을 사용하여 데이터를 조회하고 조작
- NoSQL : 자체 쿼리 언어를 사용하거나, 각 DB마다 제공하는 쿼리 API를 사용.
'스터디 > 면접' 카테고리의 다른 글
| 면접 스터디(병렬 프로그래밍) (0) | 2023.03.03 |
|---|---|
| 면접 스터디(절차지향/객체지향/함수형 프로그래밍, 시간복잡도/공간복잡도) (0) | 2023.03.01 |
| [면접 스터디]웹 서버와 WAS, Stack/Queue, Array/Linked List (0) | 2023.02.28 |
| 면접 스터디(트랜젝션, TCP&UDP) (0) | 2023.02.27 |
| 면접 스터디(Parameter/Argument, 프로세스/스레드) (0) | 2023.02.24 |