Java 6

Java 접근 제어자

접근 제어자가 사용될 수 있는 곳 - 클래스, 멤버변수, 메서드, 생성자 private 같은 클래스 내에서만 접근이 가능하다. default 같은 패키지 내에서만 접근이 가능하다. protected 같은 패키지 내에서, 그리고 다른 패키지의 자손 클래스에서 접근이 가능하다. public 접근 제한이 전혀 없다. 제어자 같은 클래스 같은 패키지 자손클래스 전체 public O O O O protected O O O default O O private O 접근 범위가 넓은 쪽에서 좁은 쪽의 순으로 왼쪽부터 나열하면 다음과 같다. public > protected > default > private 접근제어자가 있는 이유 캡슐화 - 외부로부터 데이터를 보호하기 위해서 - 내부에서만 사용되는 부분을 감추기 위해..

Java 2022.03.16

(JAVA) String, String builder, String Buffer

면접에서 질문받았던 내용이며 면접관님께서 가장 간단한 문제라고 말씀하셨다. 하지만 나는 이 간단한 문제를 대답하지 못했다. JAVA를 공부한 지 얼마 안돼서 모를 수 있지만 언어의 중요성에 대해서 간과한 나 자신을 반성하며 이번 기회에 정리를 해보고자 한다. mutable / immutable String은 불변(immutable) StringBuffer, StringBuilder는 가변(mutable) immutable - 객체가 한번 생성되면 메모리 공간이 변하지 않음. mutable - 객체가 한번 생성되더라도 다른 값이 할당되면 할당된 공간이 변함. StringBuilder / StringBuffer StringBuilder는 동기화를 지원하지 않음 StringBuffer는 동기화를 지원 동기화 ..

Java 2022.02.10

JAVA String에 관하여

JAVA에서 char 배열로 문자열 다루기가 힘들다. 그래서 String class를 만들어 놓았다. String class는 char배열에 기능(메서드)을 추가한 것이라고 보면 된다. 이전 포스트에서 JAVA 네이밍 규칙에 보면 클래스명의 앞 첫글자는 대문자 규칙이 있었다. String도 class이기 때문에 앞글자 대문자다. C++하다가 넘어오면 헷갈리니 주의하도록하자. 선언 방법 String str = "JAVA"; String class의 주요 메서드 char charAt(int index) 문자열에서 해당 위치(index)에 있는 문자 반환 int length() 문자열 길이 반환 String substring(int from, int to) 문자열에서 해당 범위(from ~ to)에 있는 문자..

Java 2021.07.12

프로그래머들에게 권장하는 JAVA 네이밍 규칙

1. 클래스 이름의 첫 글자는 항상 대문자로 한다. 변수명 이름의 첫 글자는 항상 소문자로 한다. - UserRepository userRepository (클래스) (변수명) 2. 여러 단어로 이루어진 이름은 단어의 첫 글자를 대문자로 한다. - UserRepository userRepository 3. 상수의 이름은 모두 대문자로 한다. 여러 단어로 이루어진 경우 '_'로 구분한다. - PI, MAX_NUM, MIN_NUM

Java 2021.07.12

JVM(Java Virtual Machine)

JVM은 'Java virtual machine'의 줄인 말이다. '자바를 실행하기 위한 가상 기계'라고 생각하면 편하다. JAVA로 작성된 어플리케이션은 JVM위에서 동작한다. 그렇다면 왜 필요한가? 일반 어플리케이션(JAVA로 작성된 것이아닌)은 OS를 통해 하드웨어로 전달되어 동작하게 된다. 하지만 일만 어플리케이션은 OS에 종속되기 때문에 해당 OS에서만 실행된다는 단점이 있다. JAVA의 경우는 OS에 따라 JVM을 제공한다. JAVA로 작성된 어플리케이션은 JVM위에서 동작하여 실행되기 때문에 OS에 영향을 받지 않고 실행을 시킬 수 있다. 즉, 한 번 작성하면 어디서든 실행시킬 수 있는 장점이 있으며 이를 가능하도록 만들어주는 것이 JVM이다.

Java 2021.07.12