손안의 자바
초보자를 위한 자바 프로그래밍의 핵심 + 알파
Regular price
$33.71
Sale price
Regular price
✈️
Estimated delivery date 예상 배송일
Standard Shipping
불러오는 중...
주문일로부터 8-12 영업일
Express Shipping
불러오는 중...
주문일로부터 6-8 영업일
정보시스템 감리를 통해 70여 개 이상의 프로젝트 소스 코드를 검사했다. 이 소스코드 검사를 통해 실제 프로젝트에서 사용하는 문법이 무엇이며, 개발자들이 잘 실수하는 것이 무엇인지 알게 됐다.
본 책은 이러한 경험을 바탕으로 작성한 책이다. 초보 개발자들에게 실제 프로젝트에서 사용하는 핵심 문법 위주로 자바를 소개하며, 최신 버전의 자바의 기능과 관련해 앞으로 사용될 것 같다고 판단되는 장치들을 포함시켰다. 많은 자바 입문자가 이 책을 읽고 효율적인 길을 걸을 수 있기를 바란다.
★ 이 책에서 다루는 내용 ★
- 초보자를 위한 자바 문법 핵심 + 알파
- 실제 프로젝트에서 사용하는 문법 위주의 자바 프로그래밍
- 좋은 프로그램을 위한 기본적인 가이드
- 개발자들이 실수하기 쉬운 개념
- 정부가 주관하는 수십 개의 프로젝트에서 사용하지 않는 문법 제외
본 책은 이러한 경험을 바탕으로 작성한 책이다. 초보 개발자들에게 실제 프로젝트에서 사용하는 핵심 문법 위주로 자바를 소개하며, 최신 버전의 자바의 기능과 관련해 앞으로 사용될 것 같다고 판단되는 장치들을 포함시켰다. 많은 자바 입문자가 이 책을 읽고 효율적인 길을 걸을 수 있기를 바란다.
★ 이 책에서 다루는 내용 ★
- 초보자를 위한 자바 문법 핵심 + 알파
- 실제 프로젝트에서 사용하는 문법 위주의 자바 프로그래밍
- 좋은 프로그램을 위한 기본적인 가이드
- 개발자들이 실수하기 쉬운 개념
- 정부가 주관하는 수십 개의 프로젝트에서 사용하지 않는 문법 제외
Couldn't load pickup availability
출판사 리뷰
출판사 리뷰
목차
목차
지은이 소개
지은이의 말
리뷰어의 말
들어가며
1부. 자바 기본
1장. 자바를 시작하며
__자바란?
__개발 환경 구축하기
__자바에서의 명명 규칙
2장. 변수와 상수
__변수의 이해와 활용
__변수의 타입
__논리형 - boolean
__문자형 - char
__정수형 - byte, short, int, long
__실수형 - float, double
__형변환
__상수
3장. 연산자
__연산자 종류와 우선순위
__단항 연산자
____증감 연산자 ++, --
____부호 연산자 +, -
____비트 전환 연산자 ~
____논리 부정 연산자 !
__산술 연산자
____사칙 연산자 +, -, ?, /
____나머지 연산자 %
____시프트 연산자 <<, >>, >>>
__비교 연산자
____대소비교 연산자 <, >, <=, >=
____등가비교 연산자 ==, !=
__논리 연산자
____논리 연산자 &&, ||
____비트 연산자 &, |, ^
4장. 실행흐름의 컨트롤
__조건문 if문, switch문
____if문
____switch문
__반복문 for, while, do~while
____for문
____while문
____do~while문
__break와 continue문
____break문
____continue문
__변수의 범위
5장. 배열
__배열(array)의 필요성
__배열의 선언과 생성 그리고 초기화
__배열의 사용
__배열의 복사
__다차원 배열
__가변 배열
__배열을 벗어난 인덱스
__System.arraycopy와 매뉴얼 복사 중 누가 빠른가?
__Arrays - 배열을 위한 유틸 클래스
6장. 객체 지향 프로그래밍의 개념
__객체 지향 프로그래밍이란?
__객체
__객체 간 상호작용
__캡슐화
7장. 클래스, 변수,메소드
__객체 클래스, 객체 참조자
__자바 10에서의 지역 변수 타입 추론
__클래스 선언
__클래스 사용
__클래스 구성 요소
__필드
__필드 선언
__필드 사용
__메소드
____Void
__메소드 오버로딩
__생성자
8장. 패키지와 임포트
__패키지
__임포트(import)
9장. 상속과 오버라이딩 그리고 다형성
__상속의 개념
__상속
__오버라이딩
__다형성
__상속과 생성자
__상속관계에서의 메소드 호출 순서
10장. 제어자
__접근 제어자
____Private
____(default)
____Protected
____Public
__프로그래밍 가이드 - 접근 제어자의 엄격한 적용
__프로그래밍 가이드 - 멤버변수에 대한 직접 접근을 막아라
__static 제어자
__정적 메소드의 재정의 불가
__final 제어자
11장. 추상 클래스와 인터페이스
__추상 클래스
__인터페이스
__인터페이스를 사용한 다중상속
__자바 8 이후의 인터페이스 변화
____인터페이스 디폴트(default) 메소드
____인터페이스 정적(static) 메소드
____인터페이스 private 메소드와 인터페이스 private 정적 메소드
__자바 8 이후의 인터페이스를 사용한 다중상속
__자바8 이후의 ::를 사용한 메소드 참조 그리고 함수형 인터페이스
____함수형 인터페이스
____빌트인 함수형 인터페이스
12장. 중첩 클래스
__중첩 클래스 사용 이유
__중첩 클래스 분류
__내부 클래스
__정적 내부 클래스
__메소드 로컬 내부 클래스
__익명 내부 클래스
__유사 중첩 클래스
13장. 오류 처리
__오류 처리 소개
__오류 클래스 구조 및 기본 동작 방식
__예외 캐치 처리 순서
__비즈니스 예외
__실 프로젝트에서 많이 사용되는 예외 처리 방안
__finally 문장
__try-with-resources 문장
__인터페이스나 추상 클래스에서의 예외 쓰로우 선언
14장. 자주 사용하는 자바 기본 API
__Object 클래스
____toString ()
____equals ()
____clone ()
____프로그래밍 가이드 - Object의 toString()을 재정의하라
__String 클래스
__StringBuffer 클래스
__Math 클래스
__래퍼 클래스
__Random 클래스
__java.util.regex 패키지
__BigInteger
__BigDecimal
__Calendar와 Date 그리고 DateFormat
__자바 8부터 지원하는 새로운 날짜 지원 API
____날짜 및 시간 알아내기
____날짜 및 시간 객체에서 정보 조회하기
____날짜와 시간 더하거나 빼기
__날짜와 시간 변경하기
__특정 날짜 계산하기
____날짜 및 시간 비교
____날짜 및 시간 차이 계산
____Period를 사용한 날짜 기반 차이
____Duration을 사용한 초, 나노초 기반 차이
____날짜 포맷팅
__ZonedDateTime으로 세계시 다루기
15장. 제네릭
__들어가면서
__제네릭의 필요성
__제네릭을 이용한 첫번째 클래스 작성하기
__제네릭 동작 방식
__제네릭 기본 문법
____제네릭 클래스의 new 불가
____제네릭 타입 구체화 시 배열 불가
____구체화 타입의 자식 타입 사용 가능
____정적 요소에 제네릭 타입 사용 불가
____제네릭 타입에 제약 조건 두기
__제네릭 인터페이스
__제네릭 메소드
__제네릭 와일드카드
__좀 더 복잡한 제네릭 메소드와 와일드카드의 예
____파라미터에는 와일드카드가 없는 경우
____파라미터에 와일드카드가 한개 있는 경우
____파라미터에 와일드카드가 두개 있는 경우
__다이아몬드 연산자
16장. 컬렉션 프레임워크
__HashSet
__ArrayList
__Vector
__HashMap과 Hashtable
__Iterator
__리스트 대 배열
__Comparator를 사용한 목록 정렬하기
__목록에 요소 추가 및 삭제하기
____foreach문에서의 추가 및 삭제 시 예외발생
____Iterator를 사용한 요소 삭제
____인덱스를 사용한 for문에서의 삭제 시 정합성 문제
____인덱스를 사용한 요소 삭제 및 추가
17장. 열거형(Enum 타입)
__들어가면서
__처음 만나는 열거형
__열거형에 데이터 연결하기
__여러 형태의 열거형 정의 방법
__열거형에 관한 유용한 메소드
18장. 어노테이션
__들어가면서
__어노테이션 맛보기
__JDK가 제공하는 표준 어노테이션
__커스텀 어노테이션 작성을 위한 기초 지식
____@Target
____@Retention
____@Documented
____@Inherited
____@Repeatable
__커스텀 어노테이션 작성하기
__프로그래밍 가이드 - 네이밍 규칙보다는 어노테이션을 사용해 식별하라
19장. 람다식
__들어가면서
__람다식 개념
__람다식 활용 예
__함수형 인터페이스
____람다 캡처링
____람다식을 조합하기 위한 빌트인 함수형 인터페이스의 장치
20장. 자바 8의 스트림
__들어가면서
____스트림을 왜 사용하는가?
__스트림 동작 방식
____Stream의 인스턴스 메소드 filter()
____Stream의 인스턴스 메소드 sorted()
____Stream의 인스턴스 메소드 map()
____Stream의 인스턴스 메소드 collect()
__스트림 예제 분석하기
__스트림 좀더 알아보기
__다양한 스트림 메소드
____Stream의 Reduce() 메소드
____Stream의 mapToInt(), mapToLong(), mapToDouble() 메소드
____필터 기능을 제공하는 메소드 - filter(), distinct(), limit(), skip()
____중복 요소를 제거하는 메소드 - distinct()
____최대 요소의 개수를 제한하는 메소드 - limit()
____특정 개수를 건너띄는 메소드 - skip()
____Finding과 Matching 메소드
____복합객체의 스트림을 세부 객체의 스트림으로 분해하는 flatMap() 메소드
____Collectors.groupingBy() 메소드
____foreach 메소드
____병렬처리를 위한 parallelStream
21장. 스레드
__들어가면서
__스레드란?
__동시성와 병렬성
__첫 번째 스레드 프로그램
__다양한 스레드 생성 방법
__스레드 세이프
__동기화 메소드 및 동기화 블록
__멀티스레드 프로그래밍의 일반적인 패턴 - 스레드 풀
__서버(Was)의 스레드 프로그래밍 모델
__스레드 로컬
__결과 값이 있는 동시 수행
__Fork/Join 프레임워크의 필요성
__ForkJoin을 사용한 동시 처리
22장. I/O 스트림 및 파일
__들어가면서
__I/O 스트림 개념
__다양한 I/O 스트림
__FileInputStream
__FileOutputStream
__ByteArrayInputStream /ByteArrayOutputStream
__버퍼링 개념
__BufferedInputStream/BufferedOutputStream
__파일 다루기
____File 생성자
____파일 생성하기
____디렉터리 생성하기
____마지막으로 수정된 날짜 구하기
____파일/디렉터리 존재 여부 확인
____이름 변경하기
____파일 사이즈 구하기
____마지막 수정 날짜 변경하기
____파일 삭제하기
____I/O 스트림 등에서 파일이름 문자열 대신 File 사용하기
____기존 파일에 스트링 덧붙이기
23장. 네트워크 프로그래밍
__들어가면서
__네트워크 환경 이해
____방화벽
____라우터
____스위치
____MAC
__도메인
__TCP/IP 4 계층
__소켓 서버 기본 구조 이해하기
__소켓 클라이언트 프로그램 기본 구조 이해하기
__개선된 소켓 서버 프로그램
__UDP 소개 및 예제
24장. Java NIO
__들어가면서
__NIO 이유
__채널과 버퍼 그리고 셀렉터 개념 알아보기
__버퍼 좀더 알아보기
____버퍼 생성
____버퍼 위치 속성
__채널과 버퍼 사용 패턴
__NIO 소켓 서버 프로그램
__IO vs NIO 선택
2부. 자바 확장
1장. 생성자 관련 프로그래밍 가이드
__들어가면서
__프로그래밍 가이드 - 생성자 대신 정적 팩토리 메소드 사용을 검토하라
__프로그래밍 가이드 - 생성자 대신 빌더 사용을 검토하라
__프로그래밍 가이드 - 유틸리티 클래스 생성자를 private로 하라
2장. 가비지 컬렉션 관련 가이드
__들어가면서
__프로그래밍 가이드 - 쓸모없는 객체참조를 제거하라
__프로그래밍 가이드 - 종결자를 중요 작업에 사용하지 않아야 한다
3장. 객체 복사하기
__들어가면서
__클론을 이용한 복사
____복사 생성자나 복사 정적 팩토리 메소드 사용한 복사방법을 고려하라
4장. 클래스 설계 가이드
__들어가면서
__프로그래밍 가이드 - 가능한 불변 클래스로 설계하라
__프로그래밍 가이드 - 상속보다는 컴포지션을 사용하라
5장. 그 밖의 기타 사항
__클래스패스를 고려한 클래스 실행
__java로 클래스 실행 시 인수 전달하기
__라이브러리란?
__Maven 환경 소개
맺으며
찾아보기
지은이의 말
리뷰어의 말
들어가며
1부. 자바 기본
1장. 자바를 시작하며
__자바란?
__개발 환경 구축하기
__자바에서의 명명 규칙
2장. 변수와 상수
__변수의 이해와 활용
__변수의 타입
__논리형 - boolean
__문자형 - char
__정수형 - byte, short, int, long
__실수형 - float, double
__형변환
__상수
3장. 연산자
__연산자 종류와 우선순위
__단항 연산자
____증감 연산자 ++, --
____부호 연산자 +, -
____비트 전환 연산자 ~
____논리 부정 연산자 !
__산술 연산자
____사칙 연산자 +, -, ?, /
____나머지 연산자 %
____시프트 연산자 <<, >>, >>>
__비교 연산자
____대소비교 연산자 <, >, <=, >=
____등가비교 연산자 ==, !=
__논리 연산자
____논리 연산자 &&, ||
____비트 연산자 &, |, ^
4장. 실행흐름의 컨트롤
__조건문 if문, switch문
____if문
____switch문
__반복문 for, while, do~while
____for문
____while문
____do~while문
__break와 continue문
____break문
____continue문
__변수의 범위
5장. 배열
__배열(array)의 필요성
__배열의 선언과 생성 그리고 초기화
__배열의 사용
__배열의 복사
__다차원 배열
__가변 배열
__배열을 벗어난 인덱스
__System.arraycopy와 매뉴얼 복사 중 누가 빠른가?
__Arrays - 배열을 위한 유틸 클래스
6장. 객체 지향 프로그래밍의 개념
__객체 지향 프로그래밍이란?
__객체
__객체 간 상호작용
__캡슐화
7장. 클래스, 변수,메소드
__객체 클래스, 객체 참조자
__자바 10에서의 지역 변수 타입 추론
__클래스 선언
__클래스 사용
__클래스 구성 요소
__필드
__필드 선언
__필드 사용
__메소드
____Void
__메소드 오버로딩
__생성자
8장. 패키지와 임포트
__패키지
__임포트(import)
9장. 상속과 오버라이딩 그리고 다형성
__상속의 개념
__상속
__오버라이딩
__다형성
__상속과 생성자
__상속관계에서의 메소드 호출 순서
10장. 제어자
__접근 제어자
____Private
____(default)
____Protected
____Public
__프로그래밍 가이드 - 접근 제어자의 엄격한 적용
__프로그래밍 가이드 - 멤버변수에 대한 직접 접근을 막아라
__static 제어자
__정적 메소드의 재정의 불가
__final 제어자
11장. 추상 클래스와 인터페이스
__추상 클래스
__인터페이스
__인터페이스를 사용한 다중상속
__자바 8 이후의 인터페이스 변화
____인터페이스 디폴트(default) 메소드
____인터페이스 정적(static) 메소드
____인터페이스 private 메소드와 인터페이스 private 정적 메소드
__자바 8 이후의 인터페이스를 사용한 다중상속
__자바8 이후의 ::를 사용한 메소드 참조 그리고 함수형 인터페이스
____함수형 인터페이스
____빌트인 함수형 인터페이스
12장. 중첩 클래스
__중첩 클래스 사용 이유
__중첩 클래스 분류
__내부 클래스
__정적 내부 클래스
__메소드 로컬 내부 클래스
__익명 내부 클래스
__유사 중첩 클래스
13장. 오류 처리
__오류 처리 소개
__오류 클래스 구조 및 기본 동작 방식
__예외 캐치 처리 순서
__비즈니스 예외
__실 프로젝트에서 많이 사용되는 예외 처리 방안
__finally 문장
__try-with-resources 문장
__인터페이스나 추상 클래스에서의 예외 쓰로우 선언
14장. 자주 사용하는 자바 기본 API
__Object 클래스
____toString ()
____equals ()
____clone ()
____프로그래밍 가이드 - Object의 toString()을 재정의하라
__String 클래스
__StringBuffer 클래스
__Math 클래스
__래퍼 클래스
__Random 클래스
__java.util.regex 패키지
__BigInteger
__BigDecimal
__Calendar와 Date 그리고 DateFormat
__자바 8부터 지원하는 새로운 날짜 지원 API
____날짜 및 시간 알아내기
____날짜 및 시간 객체에서 정보 조회하기
____날짜와 시간 더하거나 빼기
__날짜와 시간 변경하기
__특정 날짜 계산하기
____날짜 및 시간 비교
____날짜 및 시간 차이 계산
____Period를 사용한 날짜 기반 차이
____Duration을 사용한 초, 나노초 기반 차이
____날짜 포맷팅
__ZonedDateTime으로 세계시 다루기
15장. 제네릭
__들어가면서
__제네릭의 필요성
__제네릭을 이용한 첫번째 클래스 작성하기
__제네릭 동작 방식
__제네릭 기본 문법
____제네릭 클래스의 new 불가
____제네릭 타입 구체화 시 배열 불가
____구체화 타입의 자식 타입 사용 가능
____정적 요소에 제네릭 타입 사용 불가
____제네릭 타입에 제약 조건 두기
__제네릭 인터페이스
__제네릭 메소드
__제네릭 와일드카드
__좀 더 복잡한 제네릭 메소드와 와일드카드의 예
____파라미터에는 와일드카드가 없는 경우
____파라미터에 와일드카드가 한개 있는 경우
____파라미터에 와일드카드가 두개 있는 경우
__다이아몬드 연산자
16장. 컬렉션 프레임워크
__HashSet
__ArrayList
__Vector
__HashMap과 Hashtable
__Iterator
__리스트 대 배열
__Comparator를 사용한 목록 정렬하기
__목록에 요소 추가 및 삭제하기
____foreach문에서의 추가 및 삭제 시 예외발생
____Iterator를 사용한 요소 삭제
____인덱스를 사용한 for문에서의 삭제 시 정합성 문제
____인덱스를 사용한 요소 삭제 및 추가
17장. 열거형(Enum 타입)
__들어가면서
__처음 만나는 열거형
__열거형에 데이터 연결하기
__여러 형태의 열거형 정의 방법
__열거형에 관한 유용한 메소드
18장. 어노테이션
__들어가면서
__어노테이션 맛보기
__JDK가 제공하는 표준 어노테이션
__커스텀 어노테이션 작성을 위한 기초 지식
____@Target
____@Retention
____@Documented
____@Inherited
____@Repeatable
__커스텀 어노테이션 작성하기
__프로그래밍 가이드 - 네이밍 규칙보다는 어노테이션을 사용해 식별하라
19장. 람다식
__들어가면서
__람다식 개념
__람다식 활용 예
__함수형 인터페이스
____람다 캡처링
____람다식을 조합하기 위한 빌트인 함수형 인터페이스의 장치
20장. 자바 8의 스트림
__들어가면서
____스트림을 왜 사용하는가?
__스트림 동작 방식
____Stream의 인스턴스 메소드 filter()
____Stream의 인스턴스 메소드 sorted()
____Stream의 인스턴스 메소드 map()
____Stream의 인스턴스 메소드 collect()
__스트림 예제 분석하기
__스트림 좀더 알아보기
__다양한 스트림 메소드
____Stream의 Reduce() 메소드
____Stream의 mapToInt(), mapToLong(), mapToDouble() 메소드
____필터 기능을 제공하는 메소드 - filter(), distinct(), limit(), skip()
____중복 요소를 제거하는 메소드 - distinct()
____최대 요소의 개수를 제한하는 메소드 - limit()
____특정 개수를 건너띄는 메소드 - skip()
____Finding과 Matching 메소드
____복합객체의 스트림을 세부 객체의 스트림으로 분해하는 flatMap() 메소드
____Collectors.groupingBy() 메소드
____foreach 메소드
____병렬처리를 위한 parallelStream
21장. 스레드
__들어가면서
__스레드란?
__동시성와 병렬성
__첫 번째 스레드 프로그램
__다양한 스레드 생성 방법
__스레드 세이프
__동기화 메소드 및 동기화 블록
__멀티스레드 프로그래밍의 일반적인 패턴 - 스레드 풀
__서버(Was)의 스레드 프로그래밍 모델
__스레드 로컬
__결과 값이 있는 동시 수행
__Fork/Join 프레임워크의 필요성
__ForkJoin을 사용한 동시 처리
22장. I/O 스트림 및 파일
__들어가면서
__I/O 스트림 개념
__다양한 I/O 스트림
__FileInputStream
__FileOutputStream
__ByteArrayInputStream /ByteArrayOutputStream
__버퍼링 개념
__BufferedInputStream/BufferedOutputStream
__파일 다루기
____File 생성자
____파일 생성하기
____디렉터리 생성하기
____마지막으로 수정된 날짜 구하기
____파일/디렉터리 존재 여부 확인
____이름 변경하기
____파일 사이즈 구하기
____마지막 수정 날짜 변경하기
____파일 삭제하기
____I/O 스트림 등에서 파일이름 문자열 대신 File 사용하기
____기존 파일에 스트링 덧붙이기
23장. 네트워크 프로그래밍
__들어가면서
__네트워크 환경 이해
____방화벽
____라우터
____스위치
____MAC
__도메인
__TCP/IP 4 계층
__소켓 서버 기본 구조 이해하기
__소켓 클라이언트 프로그램 기본 구조 이해하기
__개선된 소켓 서버 프로그램
__UDP 소개 및 예제
24장. Java NIO
__들어가면서
__NIO 이유
__채널과 버퍼 그리고 셀렉터 개념 알아보기
__버퍼 좀더 알아보기
____버퍼 생성
____버퍼 위치 속성
__채널과 버퍼 사용 패턴
__NIO 소켓 서버 프로그램
__IO vs NIO 선택
2부. 자바 확장
1장. 생성자 관련 프로그래밍 가이드
__들어가면서
__프로그래밍 가이드 - 생성자 대신 정적 팩토리 메소드 사용을 검토하라
__프로그래밍 가이드 - 생성자 대신 빌더 사용을 검토하라
__프로그래밍 가이드 - 유틸리티 클래스 생성자를 private로 하라
2장. 가비지 컬렉션 관련 가이드
__들어가면서
__프로그래밍 가이드 - 쓸모없는 객체참조를 제거하라
__프로그래밍 가이드 - 종결자를 중요 작업에 사용하지 않아야 한다
3장. 객체 복사하기
__들어가면서
__클론을 이용한 복사
____복사 생성자나 복사 정적 팩토리 메소드 사용한 복사방법을 고려하라
4장. 클래스 설계 가이드
__들어가면서
__프로그래밍 가이드 - 가능한 불변 클래스로 설계하라
__프로그래밍 가이드 - 상속보다는 컴포지션을 사용하라
5장. 그 밖의 기타 사항
__클래스패스를 고려한 클래스 실행
__java로 클래스 실행 시 인수 전달하기
__라이브러리란?
__Maven 환경 소개
맺으며
찾아보기
저자
저자
김지훈
저자 김지훈
동국대학교 컴퓨터공학과를 나왔으며, 홍익대학교 대학원 컴퓨터공학과에서 시스템 프로그래밍을 전공해 석사 학위를 받았다. LG CNS에서 SW 아키텍트를 수행했으며, KT ds에서 연구원을 지냈고 현재는 정보기술감리원에서 감리사로 근무 중이다.
안드로이드, HTML5, 빅데이터, 보안 분야에서 저술과 번역 작업을 수행했으며, 정보시스템 감리에서 주로 수행하는 분야는 시스템 구조 및 보안 분야이다.
동국대학교 컴퓨터공학과를 나왔으며, 홍익대학교 대학원 컴퓨터공학과에서 시스템 프로그래밍을 전공해 석사 학위를 받았다. LG CNS에서 SW 아키텍트를 수행했으며, KT ds에서 연구원을 지냈고 현재는 정보기술감리원에서 감리사로 근무 중이다.
안드로이드, HTML5, 빅데이터, 보안 분야에서 저술과 번역 작업을 수행했으며, 정보시스템 감리에서 주로 수행하는 분야는 시스템 구조 및 보안 분야이다.
Payment & Security
Payment methods
Your payment information is processed securely. We do not store credit card details nor have access to your credit card information.
$99 이상 무료 배송
3% 리워드 크레딧 적립
Secure Payment

