1. 자바 면접 준비 - 1일차

한승록·2023년 11월 16일
0

기술 면접

목록 보기
1/1

1) OOP(Object-Oriented Porgramming: 객체지향 프로그래밍)

1-1) 객체지향 개념

  • 프로그램을 객체라는 기본 단위로 나누어 객체들간 상호작용하는 것을 의미
  • 재사용성과 유지보수가 용이
  • 절차지향 언어에 비해 실행속도가 느림
  • Java, Python, C#

1-2) 객체지향 특성

  1. 추상화(Abstraction)
  2. 캡슐화(Encapsulation)
  3. 상속(Inheritance)
  4. 다형성(Polymorphism)
추상화 - 객체에서 공통된 속성과 행위 추출

- 자바에서는 추상 클래스인터페이스로 구현 가능

캡슐화 - 서로 연관된 속성과 기능들을 하나의 캡슐로 생성

- 데이터 보호와 은닉이 가능

- 자바에서는 public, protected, private, default 4가지 접근자로 구현 가능

상속 - 자바의 기본 단위인 클래스가 다른 클래스의 속성과 기능을 이어받아 사용

- 중복 기능에 대한 반복작업이 필요가 없음

- 자바에서는 클래서 생성시 extends를 통해 구현 가능
다형성 - 하나의 객체가 여러 가지 형태를 가지는 것을 의미

- 클래스 간 의존성을 줄여 확장성은 높아지고 결합도가 낮아짐


※ 오버라이딩 vs 오버로딩
오버라이딩 오버로딩
- 클래스끼리 상속 관계여야 구현 가능 - 같은 이름의 메서드가 다른 매개변수를 통해 다른 역할을 수행
- 오버라이딩은 클래스의 관계 - 오버로딩은 메서드의 관계



2) JVM(Java Virtual Machine)

  • 자바 가상 머신
  • Java와 OS(운영체제) 사이의 중개자 역할 수행
  • Stack기반의 가상머신
profile
개발 학습

0개의 댓글