카테고리 없음
기술 면접
jineric
2023. 2. 20. 14:26
Java의 특징
- Java는 객체지향 프로그래밍 언어
- 기본 자료형을 제외한 모든 요소들이 객체로 표현되고, 객체 지향 개념의 특징인 캡슐화, 상속, 다형성이 잘 적용된 언어
- 장점
- JVM(자바가상머신) 위에서 동작하기 때문에 운영체제에 독립적이다.
- GabageCollector를 통한 자동적인 메모리 관리가 가능하다.
- 단점
- JVM 위에서 동작하기 때문에 실행속도가 상대적으로 느리다.
- 다중 상속이나 타입에 엄격하며, 제약이 많다
JVM의 역할
JVM은 스택 기반으로 동작하며, Java Byte Code를 OS에 맞게 해석해주는 역할을 하고 가비지 컬렉션을 통해 자동적인 메모리 관리를 해준다
Java의 컴파일 과정
- 개발자가 .java 파일을 생성
- build를 한다
- Java compiler의 javac의 명령어를 통해 바이트코드(.class)를 생성한다
- Class Loader를 통해 JVM 메모리 내로 로드를 한다
- 실행엔진을 통해 컴퓨터가 읽을 수 있는 기계어로 해석한다
Java에서 제공하는 원시 타입들에 무엇이 있고 몇바이트를 차지하는지?
- 정수형 byte, short, int long 실수형 float, double 문자형 char 논리형 boolean
- 정수형 1, 2, 4, 8, 실수형 4, 8, 문자형 2, 논리형 1 바이트를 차지
오버라이딩(Overriding) 과 오버로딩(Overloading)
- 오버라이딩은 상위 클래스에 있는 메소드를 하위 메소드에서 재정의한다
- 오버로딩은 매개변수의 개수나 타입을 다르게 하여 같은 이름의 메소드를 여러개 정의하는 것
객체지향 프로그래밍(OOP)
- 실생활에서 사용하는 모든것은 객체
- 객체 지향 프로그래밍은 프로그램 구현에 필요한 객체를 파악하고 상태와 행위를 가진 객체를 만들고 각각의 객체들이 역할이 무엇인지를 정의하여 객체들 간의 상호작용을 통해 프로그램을 만드는 것