본문 바로가기

JAVA

(49)
자바/Java break문, contunue문, 이름 붙은 반복문 사용법 자바/Java break문, contunue문, 이름 붙은 반복문 사용법 2.4 break문 switch문에서 이미 배운 것과 같이 break문은 현재 위치에서 가장 가까운 switch문 또는 반복문을 벗어나는데 사용된다. 주로 if문과 함께 사용되어 특정 조건을 만족하면 반복문을 벗어나도록 한다. [실행결과]i=15 sum=105 숫자를 1부터 계속 더해 나가서 몇까지 더하면 합이 100을 넘는지 알아내는 예제이다. i의 값을 1부터 1씩 계속 증가시켜가며 더해서 sum에 저장한다. sum의 값이 100을 넘으면 if문의 조건이 true이므로 break문이 수행되어 자신이 속한 반복문을 즉시 벗어난다. 이처럼 무한 반복문에는 조건문과 break문이 항상 같이 사용된다. 그렇지 않으면 무한히 반복되기 때..
자바/Java 디자인 패턴 1.스트래티지 패턴(Strategy Pattern) 자바/Java 디자인 패턴 1.스트래티지 패턴(Strategy Pattern) 스트래티지 패턴(Strategy Pattern)에서는 알고리즘군을 정의하고 각각을 캡슐화하여 교환해서 사용할 수 있도록 만든다. 스트래티지를 활용하면 알고리즘을 사용하는 클라이언트와는 독립적으로 알고리즘을 변경할 수 있다. 스트래티지 패턴의 기본정의 입니다. 괴물군도 아니고 알고리즘군이라니 허억.. ㅎㅎ 싱거운 드립이였네요. 아무튼 말이 너무 어렵습니다. 하지만 정작 원리는 간단합니다. 자 그럼 본격적으로 스트래티지 패턴에 대해 알아 볼까요? 자 이제부터 우리는 오리제국을 만들어야 합니다.!! 그러기 위해서는 오리의 기본적인 모양에 해당하는 Duck 이라는 클래스를 만들어 보겠습니다. Duck 클래스는 오리의 기본적인 정보를 ..
자바/Java JVM 메모리 구조 자바/Java JVM 메모리 구조 응용프로그램이 실행되면, JVM은 시스템으로부터 프로그램을 수행하는데 필요한 메모리를 할당받고 JVM은 이 메모리를 용도에 따라 여러 영역으로 나누어 관리한다. 그 중 3가지 주요영역(Method Area, 호출스택, Heap)에 대해서 알아보도록 하자. [참고] cv는 클래스변수, lv는 지역변수, iv는 인스턴스변수를 뜻한다. 1. 메소드영역(Method Area)- 프로그램 실행 중 어떤 클래스가 사용되면, JVM은 해당 클래스의 클래스파일(*.class)을 읽어서 분석하여 클래스에 대한 정보(클래스 데이타)를 Method Area에 저장한다. 이 때, 그 클래스의 클래스변수(class variable)도 이 영역에 함께 생성된다. 2. 힙(Heap)- 인스턴스가 ..
자바/Java static의 사용법과 개념예 자바/Java static의 사용법과 개념예 먼저 결론부터 간단히 정리하면 다음과 같습니다. 1.클래스를 설계할 때, 멤버변수 중 모든 인스턴스에 공통적으로 사용해야하는 것에 static을 붙인다. - 인스턴스를 생성하면, 각 인스턴스들은 서로 독립적이기 때문에 서로 다른 값을 유지한다. 경우에 따라서는 각 인스턴스들이 공통적으로 같은 값이 유지되어야 하는 경우 static을 붙인다. 2. static이 붙은 멤버변수는 인스턴스를 생성하지 않아도 사용할 수 있다. - static이 붙은 멤버변수(클래스변수)는 클래스가 메모리에 올라갈때 이미 자동적으로 생성되기 때문이다. 3. static이 붙은 메서드(함수)에서는 인스턴스 변수를 사용할 수 없다. - static이 붙은 메서드는 인스턴스 생성 없이 호출..
자바/Java URLEncoder와 URLDecoder 란? 자바/Java URLEncoder와 URLDecoder 란? 가끔 웹 브라우저의 주소줄에 깨진 글자를 보게 되는데 이것이 바로 웹 인코딩(Encoding)된 문자URLEncoder 클래스는 운영체제마다 일부 문자를 인식하는 방식이 다르기 때문URLEncoder 클래스는 일반 문자열을 웹에서 통용되는 'x-www-form-urlencoded' 형식으로 변환하는 역할을 담당대소문자, 숫자, 밑줄을 제외한 URL에 있는 문자를 코드화하는 것▣ URLEncoder 변환규칙 ◈ 아스키문자(a~z, A~Z, 1~9), '.', '-', '*', '_' : 그대로 전달 ◈ 공백문자(' ') : '+' 기호로 변환됨 ◈ 기타문자 : '%xy' 와 같이 세 개의 문자로 변환되며, 이 때 xy는 해당 문자의 ASCII코드..
자바/Java 클라이언트/서버(client/server) 란? 자바/Java 클라이언트/서버(client/server) 란? '클라이언트/서버'는 컴퓨터간의 관계를 역할로 구분하는 개념이다. 서버(server)는 서비스를 제공하는 컴퓨터(service provider)이고, 클라이언트(client)는 서비스를 사용하는 컴퓨터(service user)가 된다. 일반적으로 서버는 다수의 클라이언트에게 서비스를 제공하기 때문에, 고사양의 하드웨어를 갖춘 컴퓨터이지만, 하드웨어의 사양으로 서버와 클라이언트를 구분하는 것이 아니기 때문에, 하드웨어의 사양에 관계없이 서비스를 제공하는 소프트웨어가 실행되는 컴퓨터를 서버라 한다. 서비스는 서버가 클라이언트로부터 요청받은 작업을 처리하여 그 결과를 제공하는 것을 뜻하며 서버가 제공하는 서비스의 종류에 따라 파일서버(file se..
자바/Java 네트워킹(Networking) 이란? 자바/Java 네트워킹(Networking) 이란? 네트워킹(networking)이란 두 대 이상의 컴퓨터를 케이블로 연결하여 네트워크(network)를 구성하는 것을 말한다. 네트워킹의 개념은 컴퓨터들을 서로 연결하여 데이터를 손쉽게 주고받거나 또는 자원(프린터와 같은 주변기기)을 함께 공유하고자 하는 노력에서 시작되었다. 초기의 네트워크는 단 몇 대의 컴퓨터로 구성되었으나 지금은 전 세계의 셀 수도 없을 만큼 많은 수의 컴퓨터가 인터넷이라는 하나의 거대한 네트워크를 구성하고 있으며, 인터넷을 통해 다양하고 방대한 양의 데이터를 공유하는 것이 가능해졌다. 이에 맞춰 메신저나 온라인게임과 같은 인터넷을 이용하는 다양한 네트워크 어플리케이션들이 많이 생겨났다. 자바에서 제공하는 java.net패키지를 사용..
자바/Java Calendar 사용법 (기본예제 포함) - 4 - 자바/Java Calendar 사용법 (기본예제 포함) - 4 - CalendarEx4.java package arabiannight.tistory.com.calendardate; import java.util.*; class CalendarEx4 { public static void main(String[] args) { Calendar date = Calendar.getInstance(); date.set(2005, 7, 31);// 2005년 8월 31일 System.out.println(toString(date)); System.out.println("= 1일 후 ="); date.add(Calendar.DATE, 1); System.out.println(toString(date)); System..