coding_yoon
냥집사의 개발노트
coding_yoon
전체 방문자
오늘
어제
  • 분류 전체보기 (24)
    • 📚Programming (16)
      • Java (10)
      • Spring (0)
      • Spring Boot (0)
      • JPA (0)
      • Python (4)
      • 개발 환경설정 (2)
    • 📌ETC (8)
      • Tech Interview (8)

블로그 메뉴

  • 💻깃허브
  • 방명록
  • 태그 클라우드

공지사항

인기 글

태그

  • 현업프로젝트 내려받기
  • 이클립스기초
  • 자바기술면접
  • 파이썬이론
  • html컴파일없이
  • 자바상수
  • 기술면접
  • 자바random
  • 이클립스 프로젝트 import
  • 자바신입
  • 인테리제이
  • 이클립스 프로젝트생성
  • 자바기초
  • 신입개발면접
  • 프로젝트 임포트
  • 출력메소드
  • 자바자료형
  • 신입개발자면접
  • import문 사용방법
  • 면접정리
  • 개발자면접정리
  • 코드작성순서
  • 자바이론
  • sql이론
  • 자바연산자
  • 자바의특징
  • scanner메소드
  • STS 프로젝트받기
  • springbootdevtools
  • 사용자입력 exception

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
coding_yoon

냥집사의 개발노트

📌ETC/Tech Interview

신입 개발자 기술면접 질문 정리 #4

2022. 9. 16. 14:38
\

💡 Interface란?

  • 일종의 추상클래스이다.
  • 오직 추상메소드와 상수만을 멤버로 가진다.
  • Implements 키워드 사용한다.
  • 상속의 관계가 없는 클래스간에 서로 공통되는 로직을 구현하여 쓸 수 있도록함.
  • Extends는 하나의 클래스만 상속가능하나 인터페이스는 다중상속 가능하다.

💡 Abstract 란?

  • 추상메소드를 하나 이상 가진 클래스.
  • 자신의 생성자로 객체 생성 불가능.
  • 하위 클래스를 참조하여 상위 클래스의 객체를 생성.
  • 하위 클래스를 제어하기 위해 사용.

💡 Interface vs. Abstract Class 용도는?

공통점

  • new로 인스턴스 생성이 안됨.
  • 프로토타입만 있는 메소드를 가짐.
  • 사용하기 위해서는 하위클래스에서 확장/구현 해야 한다. 

차이점

  • 사용하는 키워드가 다르다.
  • Abstract는 일반 메소드를 사용할 수 있지만 interface는 메소드 선언만 가능하다. 
  • Interface는 다중상속이 가능하다.

💡 Reflection이란?

클래스의 이름으로부터 클래스의 정보를 취득하고 그 인스턴스를 생성하는 방법. 

jdbc드라이버 로드 방법도 리플렉션 패키지를 사용한 방법임. 그 외 Struts의 다이나믹 액션폼, 스프링에서 쓰임.


💡 Static의 의미는?

 : 클래스가 로딩될 때 메모리 공간을 할당하는데 처음 설정된 메모리 공간이 변하지 않음을 의미

  • 객체를 아무리 많이 만들어도 해당 변수는 하나만 존재. 
  • 객체와 무관한 키워드! 

📌 static 멤버변수의 메모리는 한 번 만들어지므로 전체 객체에서 공유 할 수 있음.


💡 Heap이란?

: 실행되는 동안 동적으로 할당 되는 메모리 영역.

  • 객체나 배열 new 키워드로 할당된 객체들이 저장된다.
  • 모든 객체들이 저장되는 공간이다. (인스턴스와 배열)
  • JVM의 모든 스레드들이 공유하며, JVM이 시작될 때 생성된다.

💡 Stack 이란?

: 메서드가 호출될 때마다, 스택 프레임(stack frame)이라고 불리는 새로운 데이터 영역이 생성된다. 

  • 스택 프레임이 모여 자바 스택(java stack)을 생성한다.
  • 스택의 최상단에 존재하는 스택 프레임은 활성화된 스택 프레임(active stack frame)이라고 부른다.

 

📌 heap & stack 이해를 돕기 위한 링크첨부

 

[JAVA] Stack & Heap? 자바에서 스택과 힙이란?

스택(Stack) 이란? - Stack 에는 heap 영역에 생성된 Object 타입의 데이터들에 대한 참조를 위한 값들이 할당된다. - 원시 타입(primitive types)(byte, short, int, long, double, float, boolean, ch..

devlogofchris.tistory.com


💡 Spring Framework란?

스프링 프레임워크는 자바 개발을 편리하게 해주는 오픈소스 프레임워크 입니다.

동적인 웹 사이트 개발하기 위한 여러 가지 서비스를 제공해줍니다.

대한민국 공공기관의 웹 서비스 개발 시 사용을 권장하고 있는 전자정부 표준프레임워크의 기반 기술.

 

  • POJO(Plain Old Java Object) : 오래된 방식의 자바 오브젝트의 줄임말
    • 일반적인 J2EE 프레임워크에 비해 특정 라이브러리를 사용할 필요가 없어 개발이 쉬움
    • 기존 라이브러리의 지원이 용이
  • 제어의 반전(IoC)이라는 기술을 통해 어플리케이션의 느슨한 결합을 도모
    • 인스턴스의 생성부터 소멸까지 개발자가 아닌 컨테이너가 대신 관리해주는 것
    • 인스턴스 생성의 제어를 시블릿과 같은 bean을 관리해주는 컨테이너가 관리
  • 의존성 주입(DI, Dependency Injection)을 지원
    • 설정 파일이나 어노테이션을 통해 객체간의 의존 관계를 설정하여 개발자가 직접 의존하는 객체를 생성할 필요없음
  • 관점 지향 프로그래밍(AOP, Aspect-Oriented Programming)을 지원
    • 트랜잭션, 로깅, 보안 등 여러 모듈, 여러 계층에서 공통으로 필요로 하는 기능의 경우 해당 기능을 분리하여 관리.

💡 Call by reference, Call by value

값에 의한 호출 (Call by value)

  • 인자로 받은 값을 복사하여 처리를 한다. 
  • 장점 : 복사하여 처리하기 때문에 안전하다. 원래의 값이 보존된다.
  • 단점 : 직접 참조를 하기 때문에 메모리가 사용량이 늘어난다.

 

참조에 의한 호출(Call by reference)

  • 인자로 받은 값의 주소를 참조하여 직접 값에 영향을 준다.
  • 장점 : 복사하지 않고 직접 참조를 하므로 빠르다.
  • 단점 : 직접 참조를 하기 때문에 원래 값이 영향을 받는다.

 

저작자표시 비영리 변경금지 (새창열림)

'📌ETC > Tech Interview' 카테고리의 다른 글

신입 개발자 기술면접 질문 정리 #6  (0) 2022.09.20
신입 개발자 기술면접 질문 정리 #5  (1) 2022.09.16
신입 개발자 기술면접 질문 정리 #3  (2) 2022.09.16
신입 개발자 기술면접 질문 정리 #2  (0) 2022.09.16
신입 개발자 기술면접 질문 정리 #1  (1) 2022.09.15
    '📌ETC/Tech Interview' 카테고리의 다른 글
    • 신입 개발자 기술면접 질문 정리 #6
    • 신입 개발자 기술면접 질문 정리 #5
    • 신입 개발자 기술면접 질문 정리 #3
    • 신입 개발자 기술면접 질문 정리 #2
    coding_yoon
    coding_yoon
    코딩공부를 하며 작성하는 노트

    티스토리툴바