고려홍삼정 365 스틱: 당신의 건강을 위한 특별한 선물

쿠팡 활동의 일환으로 수수료를 받습니다.

면역력 저하, 만성 피로, 기력 감퇴… 현대인이라면 누구나 한 번쯤 겪는 고민들입니다. 하지만 바쁜 일상 속에서 건강을 챙기기란 쉽지 않죠. 이럴 때 필요한 건 바로 간편하게 섭취하면서도 깊은 영양을 전달하는 고려홍삼정 365 스틱입니다. 엄선된 6년근 홍삼만을 사용하여 진한 풍미와 영양을 그대로 담아낸 고려홍삼정 365 스틱은 하루 한 포로 활력 넘치는 일상을 선사합니다.

활력 충전, 하루 한 포로 간편하게!

고려홍삼정 365 스틱은 바쁜 현대인들을 위해 언제 어디서나 간편하게 섭취할 수 있도록 스틱형 파우치로 제작되었습니다.
휴대가 간편하여 가방이나 주머니에 쏙 넣고 다니면서 필요할 때마다 꺼내 먹을 수 있어요.
스틱형 파우치는 위생적이기도 합니다.
개별 포장되어 있어 외부 오염으로부터 안전하게 보관할 수 있고, 섭취 시에도 깔끔하고 위생적입니다.
또한 6년근 홍삼 농축액을 그대로 담아 진한 풍미와 깊은 영양을 느낄 수 있습니다.
쓴맛을 줄여 남녀노소 누구나 부담 없이 즐길 수 있도록 만들었습니다.
따뜻한 물에 타서 차처럼 마시거나, 그대로 섭취하는 등
기호에 맞게 다양한 방법으로 즐길 수 있습니다.
아침에 일어나자마자 한 포,
오후 업무 중 피로가 몰려올 때 한 포,
운동 후 지친 몸에 활력을 불어넣고 싶을 때 한 포!
고려홍삼정 365 스틱으로 활력 넘치는 하루를 시작해보세요.
꾸준히 섭취하면 면역력 증진, 피로 개선, 기억력 개선, 혈소판 응집 억제를 통한 혈액 흐름, 항산화에 도움을 줄 수 있습니다.
특히 면역력 강화가 필요한 환절기나 체력 관리가 필요한 수험생, 직장인에게 추천합니다.

소중한 분들을 위한 특별한 선물

고려홍삼정 365 스틱은 소중한 분들의 건강을 생각하는 마음을 담아 선물하기에도 좋은 제품입니다.
고급스러운 패키지 디자인으로
선물용으로 손색이 없으며,
남녀노소 누구에게나 선물할 수 있다는 장점이 있습니다.
부모님께는 건강을 생각하는 마음을 담아,
직장 동료나 친구에게는 활력 넘치는 하루를 선물하세요.
고려홍삼정 365 스틱은 받는 분에게 감동과 건강을 동시에 선사할 것입니다.
특히 다가오는 명절이나 기념일 선물로 고민하고 있다면
고려홍삼정 365 스틱을 추천합니다.
건강과 활력을 동시에 챙길 수 있는 실용적인 선물이 될 것입니다.
또한 온 가족이 함께 섭취할 수 있는 건강식품이기 때문에
가족 선물로도 안성맞춤입니다.
합리적인 가격으로
프리미엄 홍삼의 효능을 경험할 수 있는
고려홍삼정 365 스틱으로
소중한 분들께 건강과 행복을 전달하세요!

[6년근 고려홍삼정 365 스틱 구매하기]

클릭하여 이동

1. 배열 복사: copyOf() / copyOfRange()

int[] a = {1, 2, 3, 4, 5, 6, 7};
int[] b = Arrays.copyOf(a, a.length)
	   // copyOf(원본 배열, 복사할 길이)
       // b = {1, 2, 3, 4, 5, 6, 7}
       
int[] c = Arrays.copyOfRange(a, 1, 4);
	   // copyOfRange(원본 배열, 시작 인덱스, 끝 인덱스) : 끝 인덱스는 포함하지 않음
       // c = {2, 3, 4}

 

2. 배열 항목 비교: equals() / deepEquals()

int[][] a = { {1, 2}, {3, 4} };

// 얕은 복사
int[][] b = Arrays.copyOf(a, a.length);

System.out.println(a.equals(b)); // false
System.out.println(Arrays.equals(a, b) // true
System.out.println(Arrays.deepEquals(a, b) // true

// 깊은 복사
int[][] c = Arrays.copyOf(a, a.length);
c[0] = Arrays.copyOf(a[0], a[0].length);
c[1] = Arrays.copyOf(a[1], a[1].length);

System.out.println(a.equals(c)) // false
System.out.println(Arrays.equals(a, c) // false
System.out.println(Arrays.deepEquals(a, c) // true

 

3. 배열 항목 정렬: sort() (오름차순 정렬)

int[] a = {1, 4, 2, 5, 6, 3, 7};
Arrays.sort(a);
// a = {1, 2, 3, 4, 5, 6, 7};
사용자 정의 클래스일 경우 클래스가 Comparable 인터페이스를 구현하고 있어야 함
오름차순일 때 자신이 매개값 보다 낮으면 음수, 같을 경우 0, 높을 경우 양수를 리턴
public class IPhone implements Comparable<IPhone> {
	String modelName;
	IPhone (String modelName) {
		this.modelName = modelName;
	}

	@Override
	public int compareTo(iPhone i) {
		return modelName.compareTo(i.modelName);
	}
}

 

4. 배열 요소 검색: binarySearch()

반드시 sort() 등의 메소드를 이용하여 정렬을 해 놓은 상태여야 한다.
없는 항목을 찾으려고 하면 음수값을 리턴한다.
int[] a = {1, 2, 3, 4., ... , 100};

System.out.println(Arrays.binarySearch(a, 85);
					// binarySearch(원본 배열, 찾을 값);
                    // 출력: 84

 

5. 배열 초기화: fill()

int[] a = new int[5];

Arrays.fill(a, 1);
// a = {1, 1, 1, 1, 1}

Arrays.fill(a, 1, 3, 2);
// fill(원본 배열, 시작 인덱스, 끝 인덱스, 값)
// a = {1, 2, 2, 1, 1};

 

 

'JAVA' 카테고리의 다른 글

#2. ArrayList  (0) 2021.08.31
#1. 정규식  (0) 2021.08.30

1. ArrayList란?

  • List 인터페이스를 상속받은 클래스로, 크기를 조정할 수 있는 배열이다.
  • 객체들이 추가되어 저장 용량을 초과한다면 자동으로 부족한 크기만큼 저장 용량이 늘어난다는 특징이 있다.
  • 즉, 크기가 가변적으로 변하는 배열이다.

 


 

2. ArrayList 생성

  • ArrayList를 생성하기 위해서는 먼저 ArrayList 클래스를 import 해야 한다.
import java.util.ArrayList;
  • 다음의 구문들로 ArrayList를 생성한다.
ArrayList<Integer> al1 = new ArrayList<Integer>();	// 타입 지정은 반드시 wrapper 클래스로
ArrayList<Integer> al2 = new ArrayList<>();			// 뒤의 <> 내부는 생략 가능
ArrayList<Integer> al3 = new ArrayList<>(5);			// 초기 용량 설정
ArrayList<Integer> al4 = new ArrayList<>(Arrays.asList(1, 2, 3, 4, 5));
// import java.util.Arrays한 후
// al4 = [1, 2, 3, 4, 5]

 


 

3. ArrayList 메서드

예시: list = [1, 2, 3, 4, 5];            // ArrayList라고 가정

 

1) 값 추가

list.add(6);	// 맨 끝에 6 추가
// list = [1, 2, 3, 4, 5, 6]

 

2) 값 삭제

list.remove(1) // index 1 위치에 있는 요소 제거
// list = [1, 3, 4, 5, 6]

** 원소가 아닌 Collection을 추가/삭제 할 경우 add 대신에 addAll, remove 대신에 removeAll을 사용한다.

 

 

3) 값 리턴

list.get(2)		// 인덱스에 해당하는 요소 반환
// 4

 

4) 값 유무 확인

list.indexOf(2)		// 2 값이 있는지 확인
// -1 (없으니 -1 리턴)
list.indexOf(1)		// 1 값이 있는지 확인
// 0  (0번째 인덱스에 있으니 0 리턴)

list.contains(2)	// 2 값이 있는지 확인
// false (없으니 false 리턴)
list.contains(1) 	// 1 값이 있는지 확인
// true  (있으니 true 리턴)

 

5) 값 변경

list.set(0, 10); 	// 0번째 인덱스의 요소를 10으로 변경
// list = [10, 3, 4, 5, 6]

 

6) 리스트 크기

list.size()		// list의 크기 리턴
// 5

'JAVA' 카테고리의 다른 글

#3. Arrays 메소드  (0) 2021.09.05
#1. 정규식  (0) 2021.08.30

1. 정규식(Regular Expressions)이란?

  • 문자열에 어떤 패턴의 문자들이 있는지 찾는데 도움을 줌
  • 특정한 규칙을 가진 문자열의 집합을 표현하는데 사용하는 형식 언어
  • 줄여서 Regex라고도 함
  • String 함수들과 함께 사용: s.matches(regex) / s.split(regex) / s.replaceAll(regex)

 

2. 정규식 표현방법

예시) String s = "abc de fg
Regular Expression Description 예시
^ 문자열의 시작을 의미 s.replaceAll("^a", "*") : "*bc de fg
$ 문자열의 종료를 의미 s.replaceAll("g$", "*") : abc de f*
. 문자 1개를 의미 s.replaceAll("a.", "*") : *c de fg
[...] [] 안의 한 문자 또는 문자집합 s.replaceAll("[ab]", "*") : **c de fg
[...][...] []안의 문자들의 조합 - 1문자로 취급 s.replaceAll("[a][b]", "*") : *c de fg
[.. - ..] 문자의 집합일 경우 -로 범위 지정 s.replaceAll("[a-d]", "*") : *** *e fg
[^...] []안의 문자(혹은 문자집합)을 제외 s.replaceAll("[^abc ]", "*") : abc ** **
A|B A 또는 B s.replaceAll("a|g", "*") : *bc de f*
* * 앞의 문자 반복 ^[a-zA-Z]*$*: 문자만 허용
  • [ab]는 a, b를 각각 한 문자로 취급하여 *가 두 개가 나오지만, [a][b]는 ab를 한 문자로 취급하여 *가 한 개가 나옴
  • [^...]는 공백도 문자로 취급함 -> 예시에서 [^abc ]가 아닌 [^abc]인 경우 abc******로 나옴

 

 

* 이 외의 정규표현식은 계속 추가할 예정

'JAVA' 카테고리의 다른 글

#3. Arrays 메소드  (0) 2021.09.05
#2. ArrayList  (0) 2021.08.31

1. 옵저버 패턴이란?

  • 어떤 객체의 상태가 변할 때 그와 연관된 객체들에게 알림을 보내는 디자인 패턴
  • 야자시간에 밖에서 선생님이 오는지 살펴보는 학생을 생각하면 이해가 쉬움

 


 

2. 옵저버 패턴의 예시

Apple 제품을 사용하고 있는 사람들에게 공지사항(이벤트 발생)을 알려주는 시스템이다.

User 클래스

public class User {
	public String name;
    
	public void getMsg(String msg) {
		System.out.println(this.name + "가 메세지 수신: " + msg);
	}
}

사용자 Minsoo, Cheolsu 클래스

public class Minsoo extends User {
	public Minsoo(String name) {
		this.name = name;
	}
}

public class Cheolsu extends User {
	public Cheolsu(String name) {
		this.name = name;
	}
}

Apple 클래스 (옵저버(여기서는 User)들에게 알림을 전달)

import java.util.ArrayList;
import java.util.List;

public class Apple {
	public ArrayList<User> users = new ArrayList<User>();

	// 애플 알림을 구독하는 사람 추가
	public void subscribe(User user) {
		users.add(user);
	}

	// 애플 알림을 구독취소한 사람은 명단에서 제거
	public void unsubscribe(User user) {
		users.remove(user);
	}

	public void notice(String msg) {
		for (User user: users) {
			user.getMsg(msg);
		}
	}
}

Main 클래스

public class Main {
	public static void main(String[] args) {
		Apple apple = new Apple();
		Minsoo minsoo = new Minsoo("민수");
		Cheolsu cheolsu = new Cheolsu("철수");
		
		apple.subscribe(minsoo);
		apple.subscribe(cheolsu);
        // 민수, 철수가 애플 구독
		
		String msg = "아이폰미니 출시";
		apple.notice(msg);
		
		apple.unsubscribe(cheolsu);
        // 철수가 애플 구독취소
        
		msg = "아이폰12 출시";
		apple.notice(msg);
	}
}

// 출력
// 민수가 메세지 수신: 아이폰미니 출시
// 철수가 메세지 수신: 아이폰미니 출시
// 민수가 메세지 수신: 아이폰12 출시

'디자인 패턴 > 행위 패턴' 카테고리의 다른 글

전략 패턴 (Strategy Pattern)  (0) 2021.08.28

1. 데코레이터 패턴이란?

  • 객체의 결합을 통해 기능을 동적으로 유연하게 확장할 수 있게 해주는 패턴
  • 추가 기능의 조합을 설계하는 패턴

 


 

2. 데코레이터 패턴 예시

IPhone 시리즈 중 IPhoneSE는 500달러, IPhoneMini는 400달러라고 가정하자(또한 기본 시리즈를 iPhone이며, 이는 300달러라고 가정). 다음 예시는 Decorator 패턴을 통해 두 시리즈의 가격을 알려주는 예시이다.

Phone 인터페이스

public interface Phone {
	public void showPrice();
}

IPhone 클래스

public class IPhone implements Phone {
	public int price;
    
	public IPhone(int price) { this.price = price; }

	@Override
	public void showPrice() {
		System.out.println("iPhone: $" + this.price);
	}
}

IPhone을 꾸며주는 IPhoneDecorator

public class IPhoneDecorator implements Phone {
	public Phone iPhone;
	public String name;
	public int price;

	public IPhoneDecorator(Phone iPhone, String name, int price) {
		this.iPhone = iPhone;
		this.name = name;
		this.price = price;
	}

	@Override
	public void showPrice() {
		System.out.println(name + ": $" + this.price);
	}
}

IPhoneDecorator를 상속받는 IPhoneSE, IPhoneMini 클래스

public class IPhoneSE extends IPhoneDecorator {
	public IPhoneSE(Phone iPhone, String name) {
		super(iPhone, name, 500);
	}
}

public class IPhoneMini extends IPhoneDecorator {
	public IPhoneMini(Phone iPhone, String name) {
		super(iPhone, name, 400);
	}
}

Main 클래스

public class Main {
	public static void main(String[] args) {
		Phone iPhone = new IPhone(300);
		iPhone.showPrice();
	
		// iPhoneSE
		Phone iPhoneSE = new IPhoneSE(iPhone, "iPhoneSE");
		iPhoneSE.showPrice();
		
		// iPhoneMini
		Phone iPhoneMini = new IPhoneMini(iPhone, "iPhoneMini");
		iPhoneMini.showPrice();
	}
}

// 출력
// iPhone: $300
// iPhoneSE: $500
// iPhoneMini: $400

 

'디자인 패턴 > 구조 패턴' 카테고리의 다른 글

프록시 패턴 (Proxy Pattern)  (0) 2021.08.28
파사드 패턴 (Facade Pattern)  (0) 2021.08.27
어댑터 패턴 (Adapter Pattern)  (0) 2021.08.26

+ Recent posts