본문 바로가기

자바

Java에서 접근 제한자의 의미와 종류 접근 제한자의 의미 백엔드 개발자에게 있어 보안은 가장 중대한 이슈 중 하나이다. 소프트웨어 서버는 고객의 개인정보와 기밀 자료를 다루므로, 백엔드 개발자가 보안에 가장 많은 공을 들여야 하는 것은 당연지사다. 사회에서 간간히 발생하는 정보 유출 사태는 고객의 개인 정보나 기밀 자료가 유출되면 어떤 일이 발생하는지에 대한 좋은 예시를 보여 주었다. 고객 정보뿐만 아니라 기업의 자산인 비즈니스 로직을 노출하지 않는 것 역시 매우 중요한 일이다. 이를 위해 대부분의 소프트웨어 기업에서는 기업 용역의 핵심인 비즈니스 로직을 철저히 감추고, 외부에 소프트웨어의 기능을 공유하더라도 Open API를 통해 외부와 연결 가능한 공용 인터페이스만을 노출한다. 소프트웨어는 접근 제한자를 통해 외부에 노출되어도 무관한 일.. 더보기
Java에서 char 타입의 활용 char 타입의 개념 Java에서 char 타입은 Primitive type으로서, 0~65535의 정수값을 통해 16비트(2^16 = 65536)의 유니코드(Unicode) 문자를 표현한다. char 타입은 Object type인 Character 타입의 unboxed 형태이므로, Chararter 타입에 비해 활용처는 부족하지만 처리 속도가 빠르다. Primitive type과 Object type의 차이에 대한 설명은 이전 글에서 다뤘다(https://hellmir.tistory.com/entry/프로그래밍에서-자료형Data-type이-필요한-이유in-Java). 프로그래밍에서 자료형(Data type)이 필요한 이유(in Java) 자료형(Data type)은 데이터를 분류하는 방법이다. 자료형을.. 더보기
프로그래밍에서 자료형(Data type)이 필요한 이유(in Java) 자료형(Data type)은 데이터를 분류하는 방법이다. 자료형을 통해 해당 자료의 처리되는 데이터 종류, 메모리 할당 과정, 연산 수행 방법을 인지할 수 있다. 예를 들어, Primitive type(기본형)인 int(정수) 타입은 언뜻 보면 불필요해 보인다. double(실수) 타입이 int 타입보다 더 넓은 범위의 값을 담을 수 있기 때문이다. 하지만 동일한 수치를 가지는 데이터도 자료형마다 컴퓨터의 이해, 처리하는 방식이 다르기 때문에 서로 다른 자료형으로 구분되어야 한다. Python과 JavaScript의 경우 동적 타입 언어(Java는 정적 타입 언어)로서, 코드 실행 시 Interpreter 또는 Compiler가 타입 추론(Type Inference)을 통해 타입을 자동으로 추론하고 결정.. 더보기
배열 출력, 복제, List 또는 Set에서 변경 배열값 출력 int[] a = {1, 2, 3}; System.out.println( Arrays.toString(a) ); java.lang의 toString 메소드가 아닌 java 유틸리티 함수인 Arrays를 사용한다. 배열 복제 int[] a = {1, 2, 3}; int[] b = a.clone(); 반복문을 이용하지 않고 배열을 그대로 복제한다. List 또는 Set을 Array로 변경(Object type만 가능) String[] array = list.toArray(new String[5]); list의 길이가 5 이하라면 길이 5짜리 배열을 만든다. List list = new ArrayList(); list.add("A"); list.add("B"); list.add("C"); Stri.. 더보기