이론 공부! 12

[JAVA 개발 지식] 면접 질문 대비

컴파일 과정에 대해 설명해보라 개발자가 .java파일을 생성한다 build를 한다. java compiler의 javac의 명령어를 통해 바이트코드(.class)를 생성 (Compiler) class loader를 통해 jvm내로 로드 (Interpreter) 실행 엔진을 통해 컴퓨터가 읽을수 있는 기계어로 해석되어 Runtime Data Area에 배치 Runtime Data Area : JVM 메모리 영역 (Heap + Stack + PC 레지스터 등) JVM 메모리 구조 스레드별 : PC register , JVM Stack , Native Method Stack PC 레지스터 : 현재 수행중인 JVM 명령어가 들어가 있고 다음 명령어의 주소를 가지고있다 JVM Stack : 호출된 메소드의 매개변..

[개발 지식] 객체 지향 4대 특징과 설계 원칙

객체지향 프로그래밍 - Object Oriented Programming 현실 세계의 사물과 같이 객체를 만들고, 객체에서 필요한 특징을 뽑아 프로그래밍 수행 4대 특징 추상화(Abstraction) 객체들의 공통적인 특징을 뽑아 이름을 붙이는 것 캡슐화(Encapsulation) 특정 객체가 독립적으로 역할을 수행하기 위해 필요한 데이터 및 기능을 하나로 묶은 것 내부에서 정보 은닉을 통해 내부 결합도는 높이고 외부에서는 결합도를 낮추기 위함 정보를 객체안에 포함시키고, 그 정보에 대한 직접적인 접근은 허용하지 않고, 인터페이스를 통해 외부에서 접근 할 수 있도록 함. ex) 접근 제어자 : public, private 상속(Inheritance) 상위 개념의 특징을 하위 개념이 물려 받음 상위 클래스..