산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Industrial programming >> java

상위 20개 Neo4j 인터뷰 질문 및 답변(2026)

상위 20개 Neo4j 인터뷰 질문 및 답변(2026)

그래프 데이터베이스 역할을 준비한다는 것은 면접관이 실제로 테스트할 내용을 예상하는 것을 의미합니다. Neo4j 인터뷰에서는 개념의 깊이, 문제 해결, 후보자가 그래프 이론을 솔루션으로 변환하는 방법을 강조합니다.

이러한 질문을 마스터하면 기술 전문 지식과 도메인 전문 지식이 중요한 분석, 권장 사항 및 실시간 시스템 전반에 걸쳐 역할이 열립니다. 현장에서 일하는 전문가들은 분석, 강력한 기술, 실무 경험을 활용하여 팀, 관리자, 선배 및 신입생이 중간 수준, 고위급 및 경력 성장을 위한 일반적인 기술 토론을 진행할 수 있도록 돕습니다.

더 읽어보세요…

👉 무료 PDF 다운로드:Neo4j 인터뷰 질문 및 답변

1) Neo4j가 무엇이고 왜 사용되는지 설명하세요.

Neo4j는 기본 그래프 데이터베이스 관리 시스템입니다. 가장 자연스러운 표현이 그래프인 데이터를 저장, 관리, 쿼리하도록 특별히 설계되었습니다. 즉, 엔터티와 엔터티 간의 관계가 포함된 데이터입니다. Neo4j는 데이터를 노드(엔티티)로 저장합니다. 및 관계(가장자리) 속성(속성) 포함 둘 다에서 풍부하고 유연한 데이터 모델을 지원합니다. Java로 작성되었으며 깊게 연결된 데이터 구조를 빠르게 탐색하고 쿼리할 수 있도록 제작되었습니다.

테이블 간의 관계에 값비싼 JOIN 작업이 필요한 MySQL과 같은 기존 관계형 데이터베이스와 달리 Neo4j의 모델은 관계의 직접 순회를 가능하게 합니다. , 소셜 네트워크, 추천 엔진, 지식 그래프, 사기 감지, 경로 찾기 문제와 관련된 사용 사례에 매우 효율적입니다. . 스키마 유연성, 관계가 많은 워크로드에 대한 성능, 실제 연결된 데이터의 직관적인 표현 등의 장점이 있습니다.

2) 그래프 데이터베이스는 관계형 데이터베이스와 어떻게 다릅니까? 예를 들어서 설명하세요.

그래프 데이터베이스와 관계형 데이터베이스는 관계를 표현하고 탐색하는 방식이 근본적으로 다릅니다.

예를 들어, 소셜 네트워크에서 친구의 친구를 찾으려면:

3) Neo4j의 CQL(Cypher Query Language)이란 무엇입니까?

사이퍼 Neo4j의 선언적 그래프 쿼리 언어입니다. , 그래프 패턴 및 순회를 표현하도록 특별히 설계되었습니다. 읽기 쉽고 직관적인 방식으로. 쿼리 복잡성을 추상화하고 검색 방법보다는 검색 대상에 중점을 둔다는 점에서 SQL과 유사하게 작동합니다. Cypher의 구문은 ASCII 아트와 유사한 패턴을 사용하여 노드와 가장자리를 나타냅니다. 예:

MATCH (p:Person)-[:FRIEND_WITH]->(f)
RETURN p.name, f.name

이 쿼리는 사람의 친구를 찾습니다. Cypher는 관계 방향성, 필터링, 패턴 일치, 경로 찾기, 순서 지정, 집계 등을 처리합니다. 색인 및 제약조건을 지원합니다. 최적화된 성능과 무결성을 위해. 원래 Neo4j 핵심 기술의 일부였던 Cypher는 openCypher를 통해 오픈소스화되었습니다. 이니셔티브이며 Neo4j 생태계에서 쿼리의 핵심으로 남아 있습니다.

4) Neo4j의 노드, 관계 및 속성은 무엇입니까?

Neo4j는 속성 그래프 모델을 사용합니다. , 이는 다음으로 구성됩니다:

노드와 관계에는 라벨이 있을 수도 있습니다. :Person과 같이 분류하려면 또는 :Movie . 레이블은 그래프를 구성하고 조회 성능을 최적화하는 데 도움이 됩니다. 예를 들어 :User라는 라벨이 붙은 노드는 id 속성 사용 , emailcreatedAt FOLLOWS과 같은 관계를 통해 연결할 수 있습니다. 다른 사용자에게. 이 모델은 직관적이며 실제 관계를 데이터 구조에 직접 반영합니다.

5) Neo4j에서 노드와 관계를 어떻게 생성하고 삭제합니까?

Neo4j에서 그래프 요소 생성 및 삭제에는 CREATE 사용이 포함됩니다. 그리고 삭제 Cypher의 명령:

참고:오류를 방지하려면 노드를 삭제하기 전에 기존 관계를 먼저 삭제해야 합니다.

이 명령은 Cypher에서 직접 그래프 구조를 조작하는 간단하고 표현력 있는 방법을 제공합니다.

6) Neo4j의 INDEX와 CONSTRAINTS를 설명합니다. 왜 중요한가요?

색인과 제약조건은 성능 향상에 매우 중요합니다. 및 데이터 무결성 :

이러한 메커니즘은 빠른 조회를 보장하고 중복 항목이나 일관성 없는 참조와 같은 문제를 방지하는 데 도움이 됩니다.

7) Neo4j에서 사용되는 일반적인 순회 알고리즘은 무엇입니까? 어떻게 다릅니까?

Neo4j는 여러 그래프 탐색 알고리즘을 활용하여 관계를 효율적으로 탐색합니다.

이러한 알고리즘은 "두 노드 사이의 최단 경로는 무엇입니까?"와 같은 중요한 그래프 질문에 대답하는 데 도움이 됩니다. 또는 “어떤 노드가 가장 큰 영향력을 갖고 있나요?” 네트워크에서.

8) 대량 데이터를 Neo4j로 가져오는 방법을 설명하세요.

Neo4j로의 대량 데이터 가져오기는 여러 가지 방법을 통해 수행할 수 있습니다:

  1. CSV 로드:

    Neo4j의 Cypher는 LOAD CSV을 지원합니다. CSV 파일에서 직접 데이터를 가져옵니다. 예:

    LOAD CSV WITH HEADERS FROM "file:///users.csv" AS row
    CREATE (:User {id: row.id, name: row.name})
    
  2. APOC 절차:

    APOC(Awesome Procedures On Cypher)는 가져오기/내보내기를 포함한 ETL 작업을 위한 강력한 유틸리티로 Cypher를 확장합니다. 예:

    CALL apoc.import.csv(...)
  3. Neo4j ETL 및 데이터 통합 도구:
    Neo4j ETL과 같은 도구와 Kafka, Spark 또는 ETL 프레임워크용 커넥터는 대규모 데이터 파이프라인을 효율적으로 수집하는 데 도움이 됩니다.
  4. 일괄 가져오기:
    대규모 데이터세트의 경우 Neo4j는 일괄 가져오기를 제공합니다. 빠른 오프라인 가져오기에 최적화되었습니다.

이러한 방법을 사용하면 대규모 데이터세트를 그래프에 효율적으로 수집할 수 있습니다.

9) Neo4j의 APOC란 무엇입니까? 예시를 제공하세요.

APOC(Awesome Procedures On Cypher) 표준 Cypher 이상으로 Neo4j의 기능을 확장하는 커뮤니티 중심의 유틸리티 라이브러리입니다. 데이터 가져오기/내보내기, 그래프 알고리즘, 메타데이터 검사, 대량 업데이트 등의 작업에 대한 절차와 기능을 제공합니다. APOC는 맞춤 코드가 필요한 실제 문제를 해결하는 데 도움이 됩니다.

예는 다음과 같습니다:

APOC는 일반적인 작업에 대해 테스트되고 최적화된 절차를 제공하여 개발 생산성을 가속화합니다.

10) Neo4j의 실제 사용 사례는 무엇입니까?

Neo4j는 연결된 데이터가 중요한 산업 전반에 걸쳐 널리 사용됩니다. :

실제 상호 작용을 그래프로 모델링함으로써 조직은 표 형식 데이터베이스로 추출하기 어렵거나 비효율적인 통찰력을 얻을 수 있습니다.

11) Neo4j 인과 클러스터링이란 무엇이며 왜 사용되나요?

인과적 클러스터링 Neo4j의 고가용성 및 확장성 아키텍처입니다. 분산 환경을 위해 설계되었습니다. 데이터 일관성을 보장합니다. 및 내결함성 Raft 합의 프로토콜 사용 .

원인 클러스터에는 다음이 포함됩니다:

이점:

이 모델은 분산된 Neo4j 배포가 엔터프라이즈 시스템에 필수적인 강력한 일관성과 고가용성을 모두 유지하도록 보장합니다.

12) Neo4j 아키텍처의 핵심 구성요소는 무엇입니까?

Neo4j의 아키텍처는 네이티브 그래프 저장 및 처리 엔진을 기반으로 합니다. , 그래프 순회에 최적화되었습니다. 주요 구성요소는 다음과 같습니다:

구성요소 설명 기본 그래프 저장소 링크된 구조 형식으로 디스크에 노드, 관계 및 속성을 저장합니다.커널(트랜잭션 엔진) ACID 트랜잭션, 로깅, 잠금을 관리합니다.Cypher Engine 인터프리터와 컴파일러를 사용하여 Cypher 쿼리를 구문 분석하고 실행합니다.캐싱 계층 속도를 위해 자주 액세스하는 노드와 관계를 메모리에 유지합니다.Bolt 프로토콜 클라이언트와 서버 간에 사용되는 바이너리 통신 프로토콜입니다.APOC/GDS 모듈 알고리즘, 데이터 가져오기/내보내기 및 분석을 위한 확장입니다.

이 모듈식 설계를 통해 Neo4j는 복잡하고 관계 집약적인 데이터 워크로드를 효율적으로 수행할 수 있습니다.

13) Neo4j에서 Bolt 프로토콜의 역할을 설명하세요.

볼트 프로토콜 Neo4j의 경량 바이너리 통신 프로토콜입니다. 효율적이고 안전한 클라이언트-서버 상호 작용을 위해 설계되었습니다. 이는 REST 기반 HTTP 호출을 대체하여 지연 시간은 줄이고 처리량은 높입니다.

주요 기능:

  • 낮은 오버헤드: 바이너리 형식은 HTTP JSON에 비해 구문 분석 시간을 단축합니다.
  • 스트리밍: 대규모 쿼리 결과를 실시간 스트리밍할 수 있습니다.
  • 크로스 플랫폼 드라이버: Java, Python, JavaScript, Go 및 .NET용 공식 드라이버.
  • 보안: 안전한 데이터 전송을 위해 TLS 암호화를 지원합니다.

Bolt는 모든 최신 Neo4j 드라이버 및 클라이언트 라이브러리(예:Neo4j 브라우저, Bloom 및 데스크톱 앱)에서 쿼리 실행 및 결과 검색을 위해 사용됩니다.

14) Neo4j는 어떻게 데이터 일관성과 내구성을 보장하나요?

Neo4j는 ACID(원자성, 일관성, 격리성, 내구성)를 유지합니다. 거래 엔진을 통해 보장합니다.

각 구성요소의 작동 방식은 다음과 같습니다.

속성 Neo4j에서 구현 원자성 트랜잭션 내의 모든 작업이 성공하거나 아무것도 수행되지 않습니다.일관성 스키마 제약 조건 및 유효성 검사를 통해 데이터 일관성이 보장됩니다.격리 잠금 및 MVCC를 사용하여 트랜잭션을 격리합니다.내구성 변경 사항은 커밋 전에 트랜잭션 로그에 기록됩니다.

또한 인과관계 클러스터링에서 , Raft 프로토콜은 분산 노드 전체에서 쓰기 내구성과 일관성을 보장합니다. 이 아키텍처는 Neo4j를 미션 크리티컬 워크로드에 안정적으로 만듭니다.

15) Neo4j를 다른 시스템과 통합하는 다양한 방법은 무엇입니까?

Neo4j는 여러 메커니즘을 통해 다른 시스템과 통합될 수 있습니다:

  1. 볼트 드라이버: 프로그래밍 언어(Java, Python, JavaScript 등)용 기본 드라이버.
  2. REST API: CRUD 작업 및 Cypher 쿼리를 위한 표준 HTTP 인터페이스.
  3. Kafka 커넥터: 실시간 ETL을 위해 Neo4j와 Apache Kafka 간의 그래프 데이터 업데이트를 스트리밍합니다.
  4. 스파크 커넥터: Apache Spark를 사용하여 그래프 분석 및 기계 학습 워크플로를 활성화합니다.
  5. ETL 도구(Neo4j ETL): MySQL 또는 PostgreSQL과 같은 데이터베이스에서 관계형 데이터를 가져옵니다.
  6. GraphQL 통합: Neo4j GraphQL 라이브러리는 웹 또는 모바일 앱용 API를 통해 그래프 데이터를 노출합니다.

이러한 옵션을 통해 Neo4j는 분석, AI 및 통합 파이프라인을 포함하는 현대 데이터 생태계의 유연한 부분이 됩니다.

16) Neo4j Aura는 무엇이며 Neo4j Community Edition과 어떻게 다른가요?

Neo4j 아우라 완전 관리형 클라우드 서비스입니다. Neo4j Inc.에서 제공하는 Neo4j용입니다. 수동 배포, 확장 또는 유지 관리가 필요하지 않습니다.

기능 Neo4j Aura(클라우드) Neo4j 커뮤니티 에디션(자체 관리형) 배포 클라우드에서 관리온프레미스 또는 자체 호스팅유지관리 완전 자동화된 업데이트 및 백업수동 설정 및 관리확장성 탄력적 확장하드웨어보안에 의해 제한됨 내장된 암호화, IAM 및 액세스 제어수동 구성 필요지원 엔터프라이즈급 SLA커뮤니티 지원만 가능

Neo4j Aura는 최소한의 오버헤드로 관리형 인프라가 필요한 클라우드 네이티브 애플리케이션 및 기업에 이상적입니다.

17) Neo4j 그래프 데이터 사이언스(GDS)란 무엇이며 그 이점은 무엇입니까?

Neo4j 그래프 데이터 과학(GDS) Neo4j 내에서 고급 그래프 기반 알고리즘과 기계 학습을 가능하게 하는 강력한 분석 라이브러리입니다. 대규모 그래프 알고리즘을 실행할 수 있습니다. 영향력, 유사성, 커뮤니티와 같은 통찰력을 얻으세요.

주요 이점:

  • 사전 구축된 알고리즘: 길 찾기, 중심성, 커뮤니티 감지 및 링크 예측을 위한 65개 이상의 알고리즘
  • 확장 가능한 메모리 그래프: 고성능 계산을 위해 전체 그래프를 메모리에 로드합니다.
  • ML과 통합: 기능을 ML 플랫폼(예:TensorFlow, scikit-learn)으로 내보냅니다.
  • 그래프 임베딩: 노드와 관계를 AI 모델의 벡터 표현으로 변환합니다.

사용 사례에는 사기 탐지, 추천 시스템, 지식 검색 등이 있습니다.

18) Neo4j 데이터베이스를 어떻게 보호할 수 있나요?

Neo4j는 그래프 데이터를 보호하기 위해 여러 계층의 보안을 제공합니다:

  1. 인증 및 승인:
    • 세부적인 권한을 위한 역할 기반 액세스 제어(RBAC)
    • 기본 역할에는 reader가 포함됩니다. , publisheradmin .
  2. 암호화:
    • 전송 중인 데이터에 대한 SSL/TLS.
    • 민감한 데이터를 위한 암호화된 저장소.
  3. 네트워크 제어:
    • Neo4j를 특정 인터페이스에 바인딩합니다. 포트를 제한하세요.
  4. 감사:
    • Enterprise Edition은 사용자 활동 감사 기능을 제공합니다.
  5. 최소 권한 원칙:
    • 애플리케이션 또는 사용자별로 액세스 권한을 제한합니다.

보안 구성은 neo4j.conf에서 관리됩니다. , 기업 IT 표준 준수를 보장합니다.

19) Neo4j를 사용하면 어떤 장점과 단점이 있나요?

장점 단점 연결된 데이터의 효율성이 높음대규모 플랫 데이터 세트에는 적합하지 않음스키마 유연성다중 모델 쿼리에 대한 제한된 지원직관적인 시각화그래프 이론에 대한 이해가 필요함풍부한 쿼리 언어(Cypher)관계형 DB 사용자를 위한 학습 곡선우수한 통합 도구(APOC, GDS)엔터프라이즈 기능이 유료임

예: 사기 탐지 시스템의 경우 , Neo4j의 순회 속도와 기본 관계는 기존 데이터베이스보다 성능이 뛰어납니다. 그러나 간단한 표 형식 보고의 경우 관계형 DB가 여전히 더 효율적일 수 있습니다.

20) 프로덕션에서 Neo4j 성능을 어떻게 모니터링하고 조정할 수 있나요?

Neo4j의 성능 모니터링에는 쿼리, 메모리 사용량 및 시스템 측정항목 분석이 포함됩니다.

주요 전략은 다음과 같습니다:

  1. 쿼리 프로파일링: EXPLAIN 사용 및 PROFILE Cypher 실행 계획을 검사합니다.
  2. 메모리 구성: 힙 크기 및 페이지 캐시 조정(dbms.memory.pagecache.size ).
  3. 측정항목 수집: 모니터링을 위해 JMX 또는 Prometheus 통합을 활성화합니다.
  4. 로깅: 쿼리 로그를 사용하여 느리거나 비용이 많이 드는 쿼리를 식별하세요.
  5. 연결 풀링: 연결을 효율적으로 재사용하려면 드라이버 구성을 최적화하세요.

Neo4j는 Neo4j 브라우저 및 Ops Manager도 제공합니다. , 시스템 상태, 느린 쿼리 추적 및 클러스터 측정항목에 대한 대시보드를 제공합니다.

🔍 실제 시나리오 및 전략적 대응이 포함된 최고의 Neo4j 인터뷰 질문

1) Neo4j는 관계형 데이터베이스보다 어떤 문제를 더 잘 해결합니까?

후보로부터 기대되는 것: 면접관은 그래프 데이터베이스가 존재하는 이유와 Neo4j가 기존 관계형 시스템에 비해 올바른 선택인지에 대한 귀하의 이해를 평가하려고 합니다.

답변 예시: "Neo4j는 데이터 자체만큼 관계가 중요한 고도로 연결된 데이터를 관리하는 데 탁월합니다. 조인에 의존하는 관계형 데이터베이스와 달리 Neo4j는 기본적으로 관계를 저장하므로 순회가 더 빠르고 직관적입니다. 이는 추천 엔진, 사기 탐지, 소셜 네트워크와 같은 사용 사례에 특히 유용합니다."

2) Neo4j에서 사용하는 속성 그래프 모델에 대해 설명해주실 수 있나요?

후보로부터 기대되는 것: 그들은 Neo4j 데이터 모델링 개념에 대한 기초 지식을 테스트하고 있습니다.

답변 예시: "속성 그래프 모델은 노드, 관계 및 속성으로 구성됩니다. 노드는 엔터티를 나타내고 관계는 해당 엔터티가 연결되는 방식을 나타내며 둘 다 키-값 속성을 저장할 수 있습니다. 관계는 방향이 지정되고 유형이 지정되므로 표현력이 풍부하고 의미론적으로 풍부한 그래프 구조가 가능합니다."

3) 새 프로젝트를 위해 Neo4j에서 데이터 모델링에 어떻게 접근하나요?

후보로부터 기대되는 것: 면접관은 귀하의 디자인 사고에 대한 통찰력과 비즈니스 요구 사항을 그래프 구조로 변환하는 능력을 원합니다.

답변 예시: "이전 역할에서는 핵심 엔터티와 비즈니스가 답변하려는 질문을 식별하는 것부터 시작했습니다. 그런 다음 이러한 쿼리를 직접 지원하는 노드와 관계를 설계했습니다. 정규화보다는 순회 패턴 모델링에 중점을 두어 성능과 명확성을 모두 보장했습니다."

4) Cypher란 무엇이며, SQL과 어떻게 다른가요?

후보로부터 기대되는 것: 그들은 귀하의 쿼리 언어 지식과 개념적 명확성을 평가하고 싶어합니다.

답변 예시: "Cypher는 Neo4j의 선언적 그래프 쿼리 언어입니다. SQL은 테이블과 조인에 중점을 두는 반면, Cypher는 패턴 기반이며 시각적으로 표현력이 뛰어납니다. 기본 그래프 구조를 밀접하게 반영하는 방식으로 노드 간의 관계를 설명할 수 있어 복잡한 쿼리를 더 쉽게 읽고 유지 관리할 수 있습니다."

5) Neo4j가 애플리케이션 성능을 크게 향상시킨 시나리오를 설명하세요.

후보로부터 기대되는 것: 이 질문은 실제 경험과 측정 가능한 영향을 테스트합니다.

답변 예시: "이전 위치에서는 딥 조인 쿼리로 어려움을 겪고 있는 관계형 데이터베이스를 대체하기 위해 Neo4j가 도입되었습니다. 마이그레이션 후에는 이전에는 몇 초가 걸렸던 복잡한 관계 쿼리가 밀리초 단위로 실행되어 사용자 경험과 시스템 확장성이 직접적으로 향상되었습니다."

6) Neo4j에서 성능 최적화를 어떻게 처리합니까?

후보로부터 기대되는 것: 면접관은 인덱스, 제약 조건, 쿼리 튜닝에 대한 이해도를 확인하고 있습니다.

답변 예시: "성능 최적화는 적절한 데이터 모델링과 쿼리 패턴 이해에서 시작됩니다. 자주 검색되는 속성에 대한 인덱스와 제약 조건을 사용하고, EXPLAIN 및 PROFILE을 사용하여 쿼리를 프로파일링하고, 불필요한 노드 스캔을 방지합니다. 또한 쿼리가 가장 선택적인 노드에서 시작되도록 합니다."

7) Neo4j에서 데이터 무결성과 제약 조건을 어떻게 관리하시겠습니까?

후보로부터 기대되는 것: 그들은 그래프 데이터의 신뢰성과 정확성을 어떻게 보장하는지 알고 싶어합니다.

답변 예시: "Neo4j는 고유성 및 존재 제약과 같은 제약 조건을 지원합니다. 저는 이를 데이터베이스 수준에서 비즈니스 규칙을 시행하는 데 사용합니다. 이전 직장에서 제약 조건을 구현하면 노드 중복을 방지하고 여러 파이프라인에서 일관된 데이터 수집을 보장하는 데 도움이 되었습니다."

8) 작성해야 했던 까다로운 그래프 쿼리와 이를 해결한 방법을 설명하세요.

후보로부터 기대되는 것: 문제 해결 능력과 Cypher 실무 경험을 평가합니다.

답변 예시: "특정 관계 필터를 사용하여 최단 경로를 찾는 것이 과제였습니다. 먼저 관련 하위 그래프를 일치시킨 다음 경로 찾기 기능을 적용하여 문제를 세분화했습니다. 관계 유형과 쿼리 프로파일링을 주의 깊게 사용하면 솔루션을 효율적으로 개선하는 데 도움이 되었습니다."

9) Neo4j가 올바른 도구가 아닌 경우 어떻게 결정합니까?

후보로부터 기대되는 것: 면접관은 건축적 판단과 균형을 테스트하고 있습니다.

답변 예시: "Neo4j는 관계가 최소화되거나 집계 보고가 많은 단순한 트랜잭션 워크로드에는 적합하지 않을 수 있습니다. 지난번 역할에서는 관계 중심 기능을 위해 Neo4j를 사용하면서 보고가 많은 모듈에 관계형 데이터베이스를 권장하여 각 도구가 적절하게 사용되도록 했습니다."

10) 비기술적인 이해관계자에게 Neo4j의 가치를 어떻게 설명합니까?

후보로부터 기대되는 것: 그들은 의사소통 기술과 비즈니스 연계를 확인하고 싶어합니다.

답변 예시: "나는 기술보다는 결과의 관점에서 Neo4j를 설명합니다. 데이터의 연관성을 이해하여 더 빠른 통찰력, 더 정확한 권장 사항 또는 더 나은 사기 탐지를 가능하게 하는 방법을 설명합니다. 비즈니스 가치를 중심으로 이를 구성하면 이해관계자들이 그 영향을 명확하게 볼 수 있습니다."


java

  1. Java에서 사용자 정의 예외를 만드는 방법
  2. 자바 10 - 루트 인증서
  3. 자바 ConcurrentMap 인터페이스
  4. Java 8 - 메소드 참조
  5. 자바 - 이메일 보내기
  6. 자바 - 재정의
  7. Java 데이터 유형(기본)
  8. 자바 BufferedOutputStream 클래스
  9. 자바 어설션
  10. 자바 이 키워드