이 영역을 누르면 첫 페이지로 이동
나눔코딩 블로그의 첫 페이지로 이동

나눔코딩

페이지 맨 위로 올라가기

나눔코딩

∞. 기술 면접/7. 자바

  • 나눔코딩
16. 기술면접 - 자바 - 리플렉션, 스트림, 람다

16. 기술면접 - 자바 - 리플렉션, 스트림, 람다

2021.10.22
이 글은 보호되어 있기 때문에 이것을 보려면 암호가 필요합니다.
15. 기술면접 - 자바 - == 와 eqauls 의 차이

15. 기술면접 - 자바 - == 와 eqauls 의 차이

2021.10.22
공부목적으로 다른 블로그의 글을 그대로 따라치면서 작성되었습니다. 저작권 문제 시, 비공개 처리하겠습니다 "==" 항등 연산자(Operator) 이다. != - 참조 비교(Reference Comparison) ; (주소 비교, Address Comparison) - 두 객체가 같은 메모리 공간을 가리키는지 확인한다. - 반환 형태: boolean type - 같은 주소면 return true, 다른 주소면 return false - 모든 기본 유형(Primitive Types)에 대해 적용할 수 있다. - byte, short, char, int, float, double, boolean "equals()" 객체 비교 메서드(Method) 이다. !(s1.equals(s2)); - 내용 비교(Conte..
13. 기술면접 - 자바 - String, StringBuilder, StringBuffer

13. 기술면접 - 자바 - String, StringBuilder, StringBuffer

2021.10.22
공부목적으로 다른 블로그의 글을 그대로 따라치면서 작성되었습니다. 저작권 문제 시, 비공개 처리하겠습니다 String StringBuilder StringBuffer 새로운 값을 할당 할 때 마다 새로 클래스에 대한 객체가 생성된다 String 에 저장되는 문자열은 private final char[]의 형태이기 때문에 String 값은 바꿀 수 없다 (불변성) Array 에 add 가 불가능하기 때문에 새롭게 인스턴스를 생성해야 함 (아래 코드 참고) String + String + String ... ㄴ 각각의 String 주소값이 Stack 에 쌓이고 , Garbage Collector 가 호출 되기 전 까지 생선된 String 객체들 은 Heap 에 쌓이기 때문에 메모리 관리에 치명적이다 memo..
12. 기술면접 - 자바 - 클래스, 객체, 인스턴스

12. 기술면접 - 자바 - 클래스, 객체, 인스턴스

2021.10.22
공부목적으로 다른 블로그의 글을 그대로 따라치면서 작성되었습니다. 저작권 문제 시, 비공개 처리하겠습니다 /* 클래스 */ public class Animal { ... } /* 객체와 인스턴스 */ public class Main { public static void main(String[] args) { Animal cat, dog; // '객체' // 인스턴스화 cat = new Animal(); // cat은 Animal 클래스의 '인스턴스'(객체를 메모리에 할당) dog = new Animal(); // dog은 Animal 클래스의 '인스턴스'(객체를 메모리에 할당) } } - 클래스(Class) : 객체를 만들기 위한 설계도 (클래스명, 멤버변수, 메소드 등 작성된 코드 덩어리) - 객체(O..
11. 기술면접 - 자바 - 컬렉션 프레임워크 (Collection Framework)

11. 기술면접 - 자바 - 컬렉션 프레임워크 (Collection Framework)

2021.10.21
공부목적으로 다른 블로그의 글을 그대로 따라치면서 작성되었습니다. 저작권 문제 시, 비공개 처리하겠습니다 전체 구조 Collection Map - List ㄴ 순서가 있음 ㄴ 데이터 중복 가능 - Set ㄴ 순서 없음 ㄴ 데이터 중복 불가능 - 검색할 수 있는 인터페이스 - 데이터를 삽입할 때 Key와 Value 의 형태로 삽입되며, Key를 이용해서 Value 을 얻을 수 있다 - 선택과정 1. Map과 Collection 인터페이스 중 선택 1-1. Collection 선택 시 사용 목적에 따라 List, Set 선택 1-2. List 선택 시, Linked 또는 Array 택 Map Collection Set List HashMap Entry 의 배열로 저장되며, 배열의 index는 내부함수를 통해..
10. 기술면접 - 자바 - 인터페이스와 추상 클래스 차이

10. 기술면접 - 자바 - 인터페이스와 추상 클래스 차이

2021.10.21
공부목적으로 다른 블로그의 글을 그대로 따라치면서 작성되었습니다. 저작권 문제 시, 비공개 처리하겠습니다 공통점과 차이점 추상 클래스 인터페이스 공통점 인스턴스(객체)를 생성 할 수 없다 (구현체가 필요하다는 말) 선언만 되어있고 구현 내용이 없다 자식 클래스가 메소드의 구체적인 동작을 구현하도록 책임을 위임한다 차이점 추상 클래스는 추상 메소드를 자식 클래스가 구체화하여 그 기능을 확장하는 데 목적이 있다 (상속을 위한 부모 클래스) 인터페이스는 서로 관련이 없는 클래스에서 공통적으로 사용하는 방식이 필요하지만 기능을 구현할 필요가 있는 경우에 사용한다 클래스 o 클래스 x 단일 상속 (extends) 다중 상속 (implement) is a kind of (일종의 라는 속한다는 개념에 가까움) can..
09. 기술면접 - 자바 - 자바는 항상 CallByValue 이다

09. 기술면접 - 자바 - 자바는 항상 CallByValue 이다

2021.10.21
공부목적으로 다른 블로그의 글을 그대로 따라치면서 작성되었습니다. 저작권 문제 시, 비공개 처리하겠습니다 public class CallByVal { public static void main(String[] args) { Person admin = new Person(1L, "admin"); changePerson(admin); System.out.println(admin); } private static void changePerson(Person admin) { admin = new Person(2L, "root"); } } class Person { private Long id; private String name; public Person(long id, String name) { this.id..
08. 기술면접 - 자바 - 직렬화(Serializable)

08. 기술면접 - 자바 - 직렬화(Serializable)

2021.10.21
공부목적으로 다른 블로그의 글을 그대로 따라치면서 작성되었습니다. 저작권 문제 시, 비공개 처리하겠습니다 자바 직렬화란? - 자바 시스템 내부에서 사용되는 객체 또는 데이터를 외부의 자바 시스템에서도 사용할 수 있도록 바이트(byte) 형태로 데이터를 변환하는 기술이다 (주로 네트워크 통신할 때) - 시스템적으로 이야기하면 JVM의 메모리에 상주(힙 또는 스택)되어 있는 객체 데이터를 바이트 형태로 변환하는 기술 자바 직렬화 조건 1. 자바 기본(primitive) 타입 2. java.io.Serializable 인터페이스를 상속받은 객체 직렬화 방법 - java.io.ObjectOutputStream 객체를 이용 public class Serial implements Serializable { int ..
07. 기술면접 - 자바 - 가비지 컬렉션(Garbage Collection ) 처리 방법

07. 기술면접 - 자바 - 가비지 컬렉션(Garbage Collection ) 처리 방법

2021.10.21
공부목적으로 다른 블로그의 글을 그대로 따라치면서 작성되었습니다. 저작권 문제 시, 비공개 처리하겠습니다 JAVA 의 Garbage Collection 처리 방법 - GC(Garbage Collection) 을 수행하는 가비지 컬렉터(Garbage Collector) 가 하는 일 1. 메모리 할 당 2. 사용 중이 메모리 인식 3. 미사용 메모리 인식 - Stop the World 1. 자바 애플리케이션은 GC 실행 시 GC 실행 스레드를 제외한 모든 스레드를 멈추고, GC 완료 후 다시 스레드를 실행 상태로 변경 (아래 코드 참고) 2. Stop the World 는 모든 애플리케이션 스레드의 작업이 멈추는 상태 3. 어떤 GC 알고리즘을 사용하더라도, Stop the world 불가피하며 최소화하기 ..
06. 기술면접 - 자바 - Non Static 과 Static

06. 기술면접 - 자바 - Non Static 과 Static

2021.10.21
공부목적으로 다른 블로그의 글을 그대로 따라치면서 작성되었습니다. 저작권 문제 시, 비공개 처리하겠습니다 Non-Static 변수 Non-Static Static 공간적 특성 공간적 특성 : 변수는 객체마다 별도로 존재한다 ㄴ 인스턴스 변수라고 부른다 변수는 클래스당 하나가 생성된다 시간적 특성 객체 생성 시 변수가 생성된다 ㄴ 객체가 생길 때 변수도 생성된다 ㄴ 객체 생성 후 변수 사용이 가능하다 ㄴ 객체가 사라지면 변수도 사라진다 클래스 로딩 시 변수가 생성된다 ㄴ 객체가 생기기(인스턴스) 전에 이미 생성된다 ㄴ 객체가 생기기(인스턴스) 전에도 사용이 가능 ㄴ 생성된 객체(인스턴스)가 사라져도 변수는 사라지지 않는다 ㄴ 변수는 프로그램이 종료될 때 사라진다 공유의 특성 공유되지 않는다 ㄴ 변수는 객체..
05. 기술면접 - 자바 - OOP 의 4가지 특징과 OOP 5가지 설계 원칙

05. 기술면접 - 자바 - OOP 의 4가지 특징과 OOP 5가지 설계 원칙

2021.10.20
공부목적으로 다른 블로그의 글을 그대로 따라치면서 작성되었습니다. 저작권 문제 시, 비공개 처리하겠습니다 OOP 란 - OOP는 현실 세계의 사물및 개념들을 객체로 보고, 그 객체들을 조립하여 프로그래밍 하는 기법이다 - 절차지향적 프로그래밍에서 있었던 코드의 재사용성과 중복제거가 가장 큰 목적으로 만들어진 기법 절차지향 프로그래밍 - 실행하고자 하는 절차를 정하고, 이 절차대로 프로그래밍하는 방법 - 목적을 달성하기 위한 일의 흐름에 중점을 둔다. 객체지향 프로그래밍 - 실세상의 물체를 객체로 표현하고, 이들 사이의 관계, 상호 작용을 프로그램으로 나타낸다. - 객체를 추출하고 객체들의 관계를 결정하고 이들의 상호 작용에 필요한 함수(메서드)와 변수(필드)를 설계 및 구현하다. - 객체 지향의 핵심은 ..
04. 기술면접 - 자바 - 래퍼 클래스 (Wrapper Class)

04. 기술면접 - 자바 - 래퍼 클래스 (Wrapper Class)

2021.10.20
공부목적으로 다른 블로그의 글을 그대로 따라치면서 작성되었습니다. 저작권 문제 시, 비공개 처리하겠습니다 Wrapper Class 프로그램에 따라 기본 타입의 데이터를 객체로 취급해야 하는 경우가 있다 예를들어, 메소드의 인수로 객체 타입만 요구 되면, 기본 타입의 데이터형을 그대로 사용할 수 없다. 이 때 기본타입의 데이터를 먼저 객체로 변환한 후 작업을 수행해야 한다 // 사용 불가 List list = new ArrayList(); // 사용 가능 List list = new ArrayList(); // 사용 가능 (Array 는 reference type 이기 때문) List list = new ArrayList(); 오토 박싱(Auto Boxing) 과 오토 언박싱(Auto Un Boxing) ..
  • 최신
    • 1
    • 2
  • 다음

정보

나눔코딩 블로그의 첫 페이지로 이동

나눔코딩

  • 나눔코딩의 첫 페이지로 이동

검색

메뉴

  • 홈
  • 태그
  • 방명록

카테고리

  • 분류 전체보기 (316)
    • ∞. 읽은 거리 (3)
    • ∞. 기술 면접 (61)
      • 1. 자료구조 (0)
      • 2. 네트워크 (9)
      • 3. 운영체제 (11)
      • 4. 데이터베이스 (13)
      • 5. 디자인 패턴 (0)
      • 6. 알고리즘 (0)
      • 7. 자바 (15)
      • 8. 자바스크립트 (7)
      • 9. 스프링 (5)
      • 10. 시큐리티 (1)
      • 11. 기타 (0)
      • 12. Vue (0)
    • ∞. 웹개발 유용한 사이트 (14)
    • ∞. 트러블 슈팅 + TIL (7)
    • 00. 출발 (9)
    • 01. 엑셀 (9)
      • 기초 (4)
      • 컴활 1급 (4)
      • VBA (0)
    • 02. 엑세스 (9)
      • 기초 (5)
      • 컴활 1급 (4)
    • 04. Oracle (1)
      • 기초 (1)
    • 03. JAVA (8)
      • 기초 (7)
      • 객체지향 프로그래밍 (0)
    • 05. HTML (13)
      • 기초 (1)
      • css (10)
      • sass (0)
      • less (0)
    • 06. Javascript (16)
      • 기초 (13)
      • ES6 모듈 (2)
      • Canvas (0)
    • 07. JSP (0)
      • 기초 (0)
    • 08. jQuery (0)
      • 기초 (0)
    • 09. BootStrap (1)
      • 기초 (0)
      • v4 - Layout (1)
    • 10. Spring (30)
      • 기초 (3)
      • 실험 (4)
      • MVC (1)
      • BOOT (6)
      • Security (10)
      • Lib (Library) (2)
      • 벤치마킹 (0)
      • JUnit5 (2)
      • DevTools (0)
      • Socket (1)
      • Batch (0)
      • Mobile (0)
      • WebFlux (0)
      • Cloud (0)
      • Thymleaf (0)
      • Actuator (0)
      • 성능 테스트 (1)
    • 11. JetBrains (34)
      • 기초 (1)
      • IntelliJ IDEA (33)
      • WebStorm (0)
      • Pycham (0)
    • 12. API (0)
      • 기초 (0)
      • 네이버 API (0)
      • 카카오 API (0)
      • 구글 API (0)
      • 인스타그램 API (0)
    • 13. AutoHotkey (1)
    • 14. Python (8)
      • 기초 (3)
      • Selenium (2)
      • Beautiful Soup (0)
      • openpyxl (1)
      • Pyqt5 (0)
      • Deep learning (open CV) (0)
      • Geocoder (0)
      • Anaconda (0)
      • DeepLearning (0)
      • Jupyter Nootbook (0)
    • 14.5. R (0)
    • 15. JMeter (0)
      • 다운로드 (0)
    • 16. Vue JS (23)
      • 기초 (3)
      • Vue 2 (15)
      • Vue 3 (5)
      • Vuetify 2.5.8 (0)
    • 17. Git (12)
      • 기초 (8)
      • ItelliJ IDEA (4)
      • SourceTree (0)
    • 18. AWS (5)
      • 기초 (2)
      • Jira (3)
    • 19. Naver Cloud Platform (0)
    • 20. Google Cloud Platform (0)
      • 기초 (0)
      • stt & tts (0)
    • 21. Kotlin (0)
    • 22. Android (0)
      • 기초 (0)
      • Java (0)
      • Kotlin (0)
      • Flutter FrameWork (0)
    • 23. Clean Code [JAVA] (1)
    • 24. BuildTool (1)
      • Maven (1)
      • Gradle (0)
    • 25. 자료 구조와 알고리즘 (18)
      • JAVA (1)
      • Java Script (1)
      • 프로그래머스 (0)
      • 백준 알고리즘 (0)
      • 나의 알고리즘 (14)
      • Brilliant 공부 (0)
    • 26. React (1)
      • 기초 (0)
      • 강의 정리 (1)
    • 27. PostMan (0)
      • 기초 (0)
    • 28. 프로그래머스 (9)
    • 29. Leet Code (0)
    • 30. MySQL (3)
      • 기초 (2)
      • 문제 (1)
    • 73. GraphQL (0)
    • 74. Nuxt JS (0)
    • 75. Electron (0)
    • 76. UX & UI Design Tool (0)
      • 기초 (0)
      • Axure (0)
      • Sketch (0)
      • Figma (0)
    • 77. MarkDown (1)
      • 기초 (1)
    • 78. Tomcat (1)
      • 메모 (1)
    • 79. Element JS (0)
    • 80. Parallax JS (0)
      • 기초 (0)
    • 81. Player JS (0)
      • 기초 (0)
    • 82. Smart Maker (0)
    • 83. Vim (0)
      • 기초 (0)
    • 84. Linux (0)
      • 기초 (0)
      • Centos 7 (0)
      • Ubuntu (0)
    • 85. Node JS (2)
      • 기초 (1)
      • WebRTC (0)
      • NVM (1)
    • 86. Propeller JS (0)
    • 87. FullPage JS (0)
      • 기초 (0)
    • 88. 아두이노 (0)
    • 89. Tensorflow (0)
    • 90. 웹 패킷 분석 (0)
    • 91. 크롬 개발자도구 (0)
    • 92. 디자인 패턴 (7)
      • 생성(Creational) (3)
      • 구조(Structral) (1)
      • 행위(Behavioral) (2)
      • SOLID 패턴 (0)
    • 95. Linux Shell Script (0)
    • 96. 구글 애널리스틱 (0)
    • 97. ffmpeg (0)
    • 98. ShareX (1)
    • 자료실 (0)
    • 기타 (2)

최근 글

인기 글

댓글

공지사항

아카이브

태그

  • 엑셀 가운데맞춤
  • 엑셀 표시형식
  • 엑셀 기타작업
  • 깁
  • 엑셀 기본작업
  • 졵
  • 엑셀 분석작업
  • 엑셀 글씨

나의 외부 링크

  • 비전공자 개발자
  • 자바 디자인 패턴
  • 자바 디자인 패턴
  • 스프링 블로그
  • 해킹보안 & 웹 관련
  • ERD 생성
  • 전문 기술 블로그
  • Servlet에 대한 개념없이 스프링을 했네요?
  • 스프링 FitlerChainList
  • 알고리즘 파워 블로그

정보

THE HEYDAZE의 나눔코딩

나눔코딩

THE HEYDAZE

블로그 구독하기

  • 구독하기
  • RSS 피드

방문자

  • 전체 방문자
  • 오늘
  • 어제

티스토리

  • 티스토리 홈
  • 이 블로그 관리하기
  • 글쓰기
Powered by Tistory / Kakao. © THE HEYDAZE. Designed by Fraccino.

티스토리툴바