'전체 글'에 해당되는 글 67건
- 2019.06.20 :: 객체 지향 프로그래밍
- 2019.06.19 :: [JAVA]대소문자 변환
- 2019.06.19 :: [JAVA] 로또 번호 뽑기
- 2019.06.19 :: Get방식과 Post방식
- 2019.06.18 :: [JAVA] 자바 별 모양 만들기
- 2019.06.11 :: [JAVA] 자바 while문 실습 : 구구단 출력하기
- 2019.06.11 :: [JAVA] 자바 for문 실습 : 구구단 출력하기
- 2019.06.11 :: [JAVA] 자바 switch문 실습 : 주사위 번호 하나 뽑기
[객체 지향 프로그래밍의 정의]
소프트웨어를 개발할 때, 여러 객체들로 나눠 하나하나 조립해서 완성된 프로그램을 만드는 기법을 객체 지향 프로그래밍이라고 합니다.
[객체의 정의]
객체란 물리적으로 존재하거나 추상적으로 생각할 수 있는 것 중에서 자신의 속성을 가지고 있고 다른 것과 식별 가능한 것을 말합니다. 예를 들자면 물리적으로 존재하는 모니터, 필통, 연필, 사람과 추상적인 강의, 수업 등이 모두 객체가 될 수 있습니다. 객체는 속성과 동작으로 구성되어 있습니다. 사람이라는 객체를 예로 들자면, 이름이나 성별 등이 속성이고 달린다, 잔다 등이 동작입니다. 자바에서는 속성과 동작들을 각각 필드와 메소드라고 부릅니다.
[객체 간의 관계]
관계의 종류에는 집합 관계, 사용 관계, 상속 관계가 있습니다.
집합 관계 : 부품과 완성품의 관계
ex) 자동차 - 엔진,타이어 등
사용 관계 : 객체 간의 상호작용
ex) 사람 - 자동차
상속 관계 : 상위 객체를 기반으로 하위 객체를 생성하는 관계
ex) 기계(상위) - 자동차(하위)
[객체 지향 프로그래밍의 장점]
객체 지향 프로그래밍은 절차 지향 프로그래밍보다 학습 난이도가 높지만, 협업이 필요한 대형 프로젝트에 적합하며 유지보수가 용이합니다.
'JAVA > 자바' 카테고리의 다른 글
[JAVA] 배열복사 Arrays.copyOf() 함수 (0) | 2019.06.23 |
---|---|
[JAVA]오름차순 내림차순 정렬 Arrays.sort() (0) | 2019.06.20 |
[JAVA]대소문자 변환 (0) | 2019.06.19 |
[JAVA] 이클립스 설치 (0) | 2019.06.10 |
[JAVA] 자바 설치 및 환경변수 설정 (0) | 2019.06.10 |
대문자로 변환하는 함수 : toUpperCase()
소문자로 변환하는 함수 : toLowerCase()
[결과]
[코드]
public class B {
public static void main(String[] args) {
String s = "ABcdEFghiJKlMnOpQRstuVwXYz";
String s1 = s.toUpperCase(); //모두 대문자로 바꾸기
String s2 = s.toLowerCase(); //모두 소문자로 바꾸기
System.out.println("원본 자료 \t : "+s);
System.out.println("대문자로 변환 : "+ s1);
System.out.println("소문자로 변환 : "+ s2);
}
}
'JAVA > 자바' 카테고리의 다른 글
[JAVA] 배열복사 Arrays.copyOf() 함수 (0) | 2019.06.23 |
---|---|
[JAVA]오름차순 내림차순 정렬 Arrays.sort() (0) | 2019.06.20 |
객체 지향 프로그래밍 (0) | 2019.06.20 |
[JAVA] 이클립스 설치 (0) | 2019.06.10 |
[JAVA] 자바 설치 및 환경변수 설정 (0) | 2019.06.10 |
1부터 45까지의 값을 7개 비복원 추출합니다.
[결과]
[코드]
package lotto;
/*<<로또 정보>>
* 1부터 45까지 7개의 값을 비복원 추출을 한다.
* 마지막 값은 보너스를 준다.
* 순서가 있다.
* */
public class Lotto {
private int[] num;
public Lotto() {
num = new int[7];
}
public int getNum(int index) {
return num[index];
}
public void setNum(int index, int data) {
num[index] = data;
}
public int length() {
return num.length;
}
public static void main(String[] args) {
Lotto l = new Lotto();
for (int i=0;i<l.length();i++) {
l.setNum(i, (int)(Math.random()*45)+1); //무작위의 1-45 값 반환
for (int j=0;j<i;j++) {
if (l.getNum(j)!=l.getNum(i)) {
} else {i--;} // 앞쪽에 중복된 값이 있으면 다시 실행 /중복제거
}
}
for (int i=0;i<(l.length())-1;i++) {
System.out.print(l.getNum(i)+ " "); // 0번부터 5번까지 출력
}
System.out.print("+ "+ l.getNum(6)); // 보너스 번호 출력
} //end main
}//end class
'JAVA > 자바 예제' 카테고리의 다른 글
[JAVA] 자바 별 모양 만들기 (0) | 2019.06.18 |
---|---|
[JAVA] 자바 while문 실습 : 구구단 출력하기 (0) | 2019.06.11 |
[JAVA] 자바 for문 실습 : 구구단 출력하기 (0) | 2019.06.11 |
[JAVA] 자바 switch문 실습 : 주사위 번호 하나 뽑기 (0) | 2019.06.11 |
[JAVA] 자바 for문 실습 : 종이접기 (0) | 2019.06.10 |
[GET하고 POST를 사용하는 이유]
Get과 Post는 HTTP프로토콜을 이용해서 서버에 데이터를 전달할 때 사용하는 메서드입니다.
데이터를 전달한다는 본질적인 기능적인 측면에서는 같다고 할 수 있습니다.
하지만, 세부적으로 보안과, 전달형식, 전달할 수 있는 데이터의 양에 따라 차이점이 발생합니다.
[GET]
Get은 주소줄에 값이 ?뒤에 입력한 정보가 노출되어, 정보를 보여주어도 상관없는 기능을 수행할 때 get 메소드를 수행합니다. GET은 길이제한이 있어서 많은 양의 데이터를 보내기가 어렵습니다.
get 방식은 post방식보다 빠르다고 할 수 있는데 get방식의 요청은 캐싱(캐시라고 하는 처리가 더 빠른 메모리 영역으로 데이터를 가져와서 접근하는 방식을 말합니다.)때문에 빠릅니다.
형식 : http://xxx.xxx.co.kr/servlet/login?id=hi&name=hong
[Post]
Post는 입력할 정보를 숨겨 정보가 보이면 안될 때 주로 사용됩니다. Get과 다르게 요청시 데이터크기의 제한이 없으며, url상에 파라미터가 나타나지 않아 get형식보다 보안상 좋습니다.
[GET과 POST 어떤걸 사용해야하나요?]
GET은 가져온다는 개념이고, POST는 수행한다는 개념으로 받아들이면 이해하기 편합니다.
즉, get은 서버에서 어떤 데이터를 가져와서 보여줄 때 사용하며, 데이터의 내용이나 상태를 바꾸지 않을 경우에 사용합니다. 예를 들자면 게시판의 리스트라던지 글보기 기능 같은 것이 이에 해당됩니다. 반면에 post는 서버의 값이나 상태를 바꾸기 위해서 사용됩니다. 글을 쓰는 것으로 예를들자면 글의 내용을 저장하고, 수정할 때 post를 사용합니다. post방식이나 get방식 모두 보내는 데이터는 전부 클라이언트측에서 볼 수 있습니다. 단지 get방식은 URL에 데이터가 표시되어 별다른 노력없이 볼 수 있지만, 보안을 생각한다면 두 방식 모두 암호화 해야합니다.
'JSP' 카테고리의 다른 글
GET / POST 한글깨짐 처리 방법 (0) | 2019.10.11 |
---|---|
GET과 POST (0) | 2019.10.11 |
[JSP] 쿠키와 세션 (0) | 2019.06.20 |
[JSP] 영역(Scope)에 대한 정리 (0) | 2019.06.20 |
[JSP] GET / POST 한글 깨짐 처리 방법 (0) | 2019.06.20 |
별로 원하는 사이즈로 사각형,계단,피라미드,다이아몬드 모양을 만드는 코드를 만들어 보았다.
[모양종류]
[코드]
import java.util.Scanner;
public class A {
static void star(char ch) {
Scanner sc = new Scanner (System.in);
int num = sc.nextInt();
int x,y;
switch(num){
case 1 : //사각형 모
Sytem.ut.println("가로 길이");
x = sc.nextInt();
System.out.println("세로 길이");
y = sc.nextInt();
for (int i=1;i<=(x*y);i++) {
System.out.print(ch);
if(i%x==0) {System.out.println();}
}
break;
case 2 : //계단모양
System.out.println("계단수");
x = sc.nextInt();
for (int i=1; i<=x; i++) {
for (int j=1; j<=i;j++) {
System.out.print(ch);
}System.out.println();
}
break;
case 3 : //역계단모양
System.out.println("계단수");
x = sc.nextInt();
for (int i=1; i<=x; i++) {
for (int j=i; j<=x;j++) {
System.out.print(ch);
}System.out.println();
for (int j=1; j<=i;j++) {
System.out.print(" ");
}
}
break;
case 4 : //피라미드모양
System.out.println("높이");
x = sc.nextInt();
for (int i=1; i<=x; i++) {
for (int j=x; j>i;j--) {
System.out.print(" ");
}
for (int j=1;j<=(2*i-1);j++) {
System.out.print(ch);
}
System.out.println();
}
break;
case 5 : //다이아몬드 모양
System.out.println("다이아몬드 크기");
x = sc.nextInt();
for (int i=1; i<=x; i++) {
for (int j=x; j>i;j--) {
System.out.print(" ");
}
for (int j=1;j<=(2*i-1);j++) {
System.out.print(ch);
}
System.out.println();
}
for (int i=1; i<=x; i++) {
for (int j=1; j<=i;j++) {
System.out.print(" ");
}
for (int j=x; j>=(2*i-2);j--) {
System.out.print(ch);
}System.out.println();
} case 5 : //5번 다이아몬드 모양
System.out.println("다이아몬드 크기");
x = sc.nextInt();
for (int i=1; i<=x; i++) {
for (int j=x; j>i;j--) {
System.out.print(" ");
}
for (int j=1;j<=(2*i-1);j++) {
System.out.print(ch);
}
System.out.println();
}
for (int i=1; i<=x; i++) {
for (int j=1; j<=i;j++) {
System.out.print(" ");
}
for (int j=x; j>=(2*i)-(x-2);j--) {
System.out.print(ch);
}System.out.println();
}break;
default:
System.out.println("에러");
break;
}//end switch
}
public static void main(String[] args) {
System.out.println("1.사각형\t 2.계단\t 3.뒤집힌 계단");
System.out.println("4.피라미드\t 5.다이아몬드");
star('*');
} //end main
}//end class A
'JAVA > 자바 예제' 카테고리의 다른 글
[JAVA] 로또 번호 뽑기 (0) | 2019.06.19 |
---|---|
[JAVA] 자바 while문 실습 : 구구단 출력하기 (0) | 2019.06.11 |
[JAVA] 자바 for문 실습 : 구구단 출력하기 (0) | 2019.06.11 |
[JAVA] 자바 switch문 실습 : 주사위 번호 하나 뽑기 (0) | 2019.06.11 |
[JAVA] 자바 for문 실습 : 종이접기 (0) | 2019.06.10 |
[while문]
반복문은 어떤 작업이 반복적으로 실행되도록 할 때 사용됩니다.
반복문의 종류는 3가지로 for문, while문, do-while문이 있습니다.
for문과 while문은 서로 변환이 가능하기 때문에 반복문을 작성할 때 어느 쪽을 선택하셔도 좋습니다.
for문은 반복 횟수를 알고 있을 때, while문은 조건에 따라 반복할 때 주로 사용됩니다.
while문과 do-while문의 차이는 조건을 먼저 검사할지, 혹은 나중에 검사할지 선택하는 것으로 동작 방식은 동일합니다.
for문이 정해진 횟수만큼 반복된다면, while문은 조건식이 true일 경우 계속해서 반복됩니다.
[결과]
[코드]
/* 구구단 출력하기
* 2*1 에서 9*9 까지 값을 출력한다.
* \t 간격 정리
*/
public class WhileMulti {
public static void main(String[] args) { // 'main'만 적고 자동완성 단축키(ctrl + 스페이스바) 누르고 엔터
int x = 2;
while (x<=9) {
System.out.print(x + "단\t\t");
x++;
}
System.out.println(""); // 'Syso' 까지 적고 자동완성 단축키(ctrl + 스페이스바)
int i = 1;
while (i<=9) {
int j = 2;
while (j<=9) {
System.out.print(j+" X "+i+" = "+(i*j)+"\t");
j++;
}
i++;
System.out.println("");
}
} //end main
} //end class WhileMulti
'JAVA > 자바 예제' 카테고리의 다른 글
[JAVA] 로또 번호 뽑기 (0) | 2019.06.19 |
---|---|
[JAVA] 자바 별 모양 만들기 (0) | 2019.06.18 |
[JAVA] 자바 for문 실습 : 구구단 출력하기 (0) | 2019.06.11 |
[JAVA] 자바 switch문 실습 : 주사위 번호 하나 뽑기 (0) | 2019.06.11 |
[JAVA] 자바 for문 실습 : 종이접기 (0) | 2019.06.10 |
[for 문]
for문은 주어진 횟수만큼 실행문을 반복 실행할 때 적합한 반복 제어문입니다.
for문은 또다른 for문을 내포할 수 있는데, 이것을 중첩된 for문이라고 합니다.
이 경우에는 바깥쪽 for문이 한 번 실행될때마다 내부의 for문은 지정된 횟수만큼 반복해서 돌다가 다시 바깥쪽 for문으로 돌아가게 됩니다.
[결과물]
[코드]
/* 구구단 출력하기
* 2*1 에서 9*9 까지 값을 출력한다.
* \t 간격 정리
*/
public class ForMulti {
public static void main(String[] args) {
for (int x=2; x<=9; x++) {
System.out.print(x + "단\t\t");
} //몇단인지 확인
System.out.println();
for (int m=1; m<=9; m++) {
for (int n=2; n<=9; n++) {
System.out.print(n + " x " + m + " = " + (n*m) + '\t'); // 한줄씩 값 출력
}
System.out.println(""); // 줄변경
}
}
}
'JAVA > 자바 예제' 카테고리의 다른 글
[JAVA] 로또 번호 뽑기 (0) | 2019.06.19 |
---|---|
[JAVA] 자바 별 모양 만들기 (0) | 2019.06.18 |
[JAVA] 자바 while문 실습 : 구구단 출력하기 (0) | 2019.06.11 |
[JAVA] 자바 switch문 실습 : 주사위 번호 하나 뽑기 (0) | 2019.06.11 |
[JAVA] 자바 for문 실습 : 종이접기 (0) | 2019.06.10 |
[switch문]
자바 프로그램에서 제어문의 종류는 조건문과 반복문이 있습니다.
조건문에는 if문과 switch문이 있고, 반복문에는 for문, while문, do-while문이 있습니다.
if문은 조건식의 결과가 true, false 이렇게 두 가지밖에 없어서 경우의 수가 많아질수록 else-if를 반복적으로 추가해야 해서 코드가 복잡해집니다, 그러나 swich문은 변수의 값에 따라서 실행문이 결정되어 if문보다 코드가 간결해집니다.
Math.random() 메소드는 0.0과 1.0 사이에 속하는 난수 하나를 리턴합니다.
0.0 <= Math.random() <1.0
0.0*6 <= Math.random() < 1.0*6
0.0 <= Math.random() < 6.0
0 <= (int)Math.random() <6
1 <= (int)Math.random()+1 <7
case 끝에 break를 적은 이유는 다음 case를 실행하지 말고 switch를 빠져나오라는 뜻입니다. break가 없을 경우 다음 case가 실행됩니다.
[결과]
[코드]
public class SwitchDice {
public static void main(String [] args) {
System.out.println("주사위 번호 뽑기");
int num = (int)(Math.random()*6)+1; // 주사위 번호 하나 뽑기
switch(num) {
case 1 : //num이 1일 경우
System.out.println("주사위 번호 : 1");
break;
case 2 :
System.out.println("주사위 번호 : 2");
break;
case 3 :
System.out.println("주사위 번호 : 3");
break;
case 4 :
System.out.println("주사위 번호 : 4");
break;
case 5 :
System.out.println("주사위 번호 : 5");
break;
default :
System.out.println("주사위 번호 : 6");
break;
}
}
}
'JAVA > 자바 예제' 카테고리의 다른 글
[JAVA] 로또 번호 뽑기 (0) | 2019.06.19 |
---|---|
[JAVA] 자바 별 모양 만들기 (0) | 2019.06.18 |
[JAVA] 자바 while문 실습 : 구구단 출력하기 (0) | 2019.06.11 |
[JAVA] 자바 for문 실습 : 구구단 출력하기 (0) | 2019.06.11 |
[JAVA] 자바 for문 실습 : 종이접기 (0) | 2019.06.10 |