분류 전체보기 183
-
데이터(Data)컴퓨터 프로그램은 데이터와 명령어의 결합으로 구성된다. 출력문데이터를 화면에 출력하는 방법은 아래와 같다.System.out.print() : 괄호 안의 내용을 출력한다. (문자열로 인식)System.out.println() : 괄호 안의 내용을 출력하고 행을 바꾼다. (문자열로 인식) System.out.printf() : 문자열을 서식 문자를 이용해 형식화된 내용으로 출력한다 자주 사용하는 출력을 위한 서식 문자는 아래와 같다.서식 문자출력 형태%d정수 (10진수)%o정수 (8진수)%x정수 (16진수)%f실수%e지수 (e표기 기반)%g출력 대상에 따라 %e 또는 %f 형태로 출력%s문자열%c문자 변수(Variable) 변수란?메모리에 값을 저장하기 위해 할당해 놓은 특정 공간을 ..
-
자바 소개자바는 1991년 개발된 객체 지향 프로그래밍 언어이다.이후 오라클(Oracle Corporation)에서 인수하여 자바 개발도구를 배포하고 기술적 지원을 하고 있다. 자바의 특징객체지향언어객체지향언어란? 하나의 기능을 객체로 만들고, 이러한 객체들을 결합해 하나의 프로그램을 완성하는 기법을 말한다.자바는 대표적인 객체지향언어이며 상속/캡슐화/다형성이 잘 나타난다. 단순성C/C++을 기반으로 개발되었지만, 혼란을 일으키는 불필요한 기능을 제거했다. 이식성자바는 운영체제 종류와 상관없이 어느 환경에서나 실행할 수 있다. 멀티스레드CPU를 최대한 활용하기 위해 프로그램의 2가지 이상을 동시에 실행할 수 있는 기능을 말한다.- 동시성 : 하나의 코어에서 멀티 스레드가 번갈아 가며 실행- 병렬성 :..
-
오버로딩 != 오버라이딩오버로딩은 함수명 중복정의 허용이라는 뜻이고,오버라이딩은 메서드 재정의를 의미한다. 오버라이딩오버라이딩은 위에서 작성한 대로 메서드 재정의를 의미하고,상속관계에서만 발생된다. 오버라이딩은 자식 메서드가 부모 메서드를 사용하고는 싶은데, 그대로 사용하기엔 마음에 들지 않기 때문에 바꿔서 사용하는 경우를 말한다. 오버라이딩을 사용하는 방법은 자식클래스 안에서- 마우스 우클릭 → Source (단축키 : Alt + Shift + S) → Overrid/Implement Methods.... 선택! → 원하는 항목 체크 후 → OK 그럼 아래와 같은 형태로 나오게 되는데, 함수 내부의 내용을 원하는 방식으로 수정해서 사용하면 되고,오버라이딩 했다는 내용을 확인할 수 있도록 @..
-
객체지향언어의 4가지 특징1. 캡슐화2. 추상화3. 상속4. 다형성 상속부모 클래스(상위 클래스)의 코드를자식 클래스(하위 클래스)가 전부 '재사용' 할 수 있다. (부모가 자식의 코드를 사용하는 건 불가능) 상속은 유지보수 용이성 극대화 라는 특징을 가지고 있다.- 코드를 잘게 잘라야 함 == 모듈화 (컴포넌트, 함수화) --> 코드 재사용성 증가- 오류 발견 시 수정을 적게 함 --> 오류의 파급효과 절감- 결과를 다양하게 추출할 수 있음.- 개발시간 단축, 개발비용 축소 예제. 점찍기class Point{ // 부모 클래스 int x; int y; Point(int x, int y){ // 생성자 this.x=x; this.y=y; } void printInfo() { System.out...
-
이번 팀플은 포켓몬스터 게임을 만드는 것이었다. ▼요구사항더보기class 포켓몬 String 타입 // 모든 포켓몬은 타입이 반드시 존재한다. ex) 전기, 물, ... String 이름 // 모든 포켓몬은 이름이 반드시 존재한다. ex) 피카츄, 꼬부기, ... int 레벨 // 새로 잡은 포켓몬의 레벨은 1~5 랜덤한 값을 가진다. int 경험치 // 새로 잡은 포켓몬의 경험치는 0이다. void attack() // 50%의 확률로 성공 -> 성공시 50~500 사이의 경험치 획득 void hello() // 피카츄는 삐까삐까, 꼬부기는 꼬북꼬북 등의 울음소리를 출력한다. void levelUp() // 경험치가 100을 채울때마다 레벨은 +1class 피카츄 attack() // 전기타입 -> 전..
-
package class01;class Circle{ String name; int radius; // 반지름 double area; // 넓이 static final double PI=3.14; // 원주율 // ===> 객체와 무관하게 사용하기 위해 static 을 붙여준다. Circle(String name,int radius){// 생성자 : 멤버변수 초기화를 위해 사용한다. // Circle.PI=3.14; >> 멤버변수가 아니기 때문에 위쪽에서 선언해줘야 함. this.name=name; this.radius=radius; this.area=this.radius*this.radius*Circle.PI; }} staticstatic은 모든 인스턴스에서 동일하게 동작한다.static을 붙..
-
오버로딩함수명 중복정의 허용이라고 한다.메서드 시그니쳐가 다르다면 같은 함수명을 사용해도 이를 허용한다는 특징을 가지고 있다.주로 비슷하거나 유사하거나 같은 기능일 때 사용한다. 메서드 시그니쳐란?메서드 이름과 매개변수의 개수,타입,순서를 의미한다. 예제 1. 쇼핑몰을 만든다고 가정했을 때package class01;class Product{ int num; //pk값 String name; int cnt; int price; // 생성자 오버로딩 Product(int num,String name){ this.num=num; //PK값, 시스템에서 부여하는 값 this.name=name; //상품명; this.cnt=0; //재고; this.price=0; //가격; } P..
-
프로그램을 만들때, CRUD를 먼저 정의하여 설계할 필요가 있다.CRUD란?Create 생성Read 출력 (내용에 따라 selectOne 혹은 selectAll 이 될 수 있다.)Update 변경Delete 삭제 절차지향 : 프로그램을 순서에 맞게 작성하는 것.흐름도가 중요하다 (플로우 차트)객체지향 : 프로그램을 객체 단위로 나누어 작성하는 것. 특히 웹에서는 대부분이 객체지향 코딩이다.이유 : 순서가 사용자에 의해 변경되기 때문에 (ex. 커피주문어플 : 마이페이지에서 PW 변경하고 -> 주문 등..)순서가 몹시 다양하기 때문에 절차지향으로는 한계가 있다. class class는 객체지향 코딩의 기본 단위이며, 자료형이다.class는 관련이 있고, 개수가 정해져 있으며, 자료형은 같지 않아도 된다..
-
프로그램프로그램에서 모든 요구사항은 CRUD로 귀결된다.CRUD는 비즈니스 메서드, 비즈니스 로직, 핵심 로직, 핵심 관심 등으로도 불리는데, 내용은 아래와 같다.Create 생성Read 출력Update 변경Delete 삭제 학생부 프로그램을 만들기에 앞서, CRUD를 먼저 정의해보자.C : 학생을 추가R : 1) 학생부 전체 출력 *selectAll 2) 학생 번호 (PK) 검색해서 출력 *selectOne 3) 학생 이름으로 검색 *selectAll 4) 1등 출력하기 *selectAll 5) 등급으로 출력하기 *selectAllU : 재시험을 봐서 성적에 변화주기D : 학생 삭제- 검색의 결과에 따라 selectAll / selectOne 으로 나뉘게 된다.- P..
-
함수는 class 안쪽, main 메서드 바깥쪽에서 사용한다. 함수의 형식은public output 함수명(intput){} 과 같은데, public을 사용하는 이유는 JAVA가 공개 정책을 사용하고 있기 때문이다. 또한 함수명은 기능을 바로 알 수 있도록 지어야 한다. 함수를 사용하는 이유1. 코드를 재사용 할 수 있다. == 유지보수가 용이하다. - 오류가 없는 코드를 재사용하는 것이기 때문에, 오류 검사 비용이 추가되지 않는다 == 경제적이다 - 오류를 검사하는 시간이 추가되지 않는다. == 효율적이다.2. mian() 에서의 코드 가독성이 좋아진다. 함수의 4가지 유형1input 없다 Xoutput 없다 X2intput 있다 O output 없다 X3intput 없다 Xoutput ..
-
자료구조의 종류배열리스트 연결리스트 큐 스택 트리 집합 맵 .... [배열]배열의 3요소1. 크기 : 개수를 분명하게 알고 있는 데이터들2. 관련성 : 이 데이터들이 서로 관련이 있는 상태3. 자료형 : 자료형이 같음--> 위 3가지 요소가 모두 만족했을 때 배열이 될 수 있음. (하나라도 불만족시 해당 x)ex1.학생의 국어, 영어, 수학점수 → 배열O, 3개의 데이터로 개수 정확하고, 연관성이 있으며, int 타입으로 자료형이 모두 같기 때문ex2.학생의 이름, 나이, 평균 → 배열X, 데이터 수가 정해져있고, 연관성이 있지만 자료형이 다름 배열의 사용법// 사용법 1// student라는 이름을 가진 int 형식의 배열을 만들어줘// 그 배열은 int 타입의 값 3개를 저장할 배열이야.in..
-
제어문에는 조건문과 반복문이 있다.조건문 : if반복문 : while, for 조건문if문단발성, 1회, 일회성 ...★만약 ~ 라면 ~ 해주세요양자택일, N지선다, 버튼식 선택 (1 이라면 ~, 2라면 ~, 3이라면 ~, .....) if문 사용시 아래와 같은 형태이다. // 조건식 == boolean 타입if(조건식1){ //조건식1이 참일때 실행되는 영역}else if(조건식2){ //조건식1은 거짓이고, 조건식2가 참일때 실행되는 영역}else{ //위에 있는 조건식 모두 거짓일때 실행되는 영역} 문제1. 1 ~ 12까지의 숫자 중 하나를 입력받고, 3, 4, 5월은 봄 / 6, 7, 8월은 여름 / 9, 10, 11월은 가을 / 12, 1, 2월은 겨울 이라고 출력해주세요.package d..