*상속

- 객체지향 프로그래밍에서는 기존 클래스를 가져다가 소스코드를 건드리지않고

  추가되는 부분만 따로 작성해서 새로운 클래스를 만들수있음

- 클래스를 가져다가 확장해서 새로운 클래스를 만드는 기술을 상속이라 한다.

 

*슈퍼클래스,서브클래스

- 자바에서는 다른 클래스에게 상속해주는 값을 슈퍼클래스(Account)라 하고

  상속을 받는 클래스를 서브클래스(CheckingAccount)라 한다.

- 상속을 받으면 추가되는 필드와 메소드만을 선언하면 완성할수있다.

- 서브클래스에서 상속받을때 extends와 상속받을 슈퍼클래스이름을 받아야함

 

#계좌 클래스(슈퍼클래스)

 

#직불카드 클래스(서브클래스)

- 메소드 오버라이딩

- 슈퍼클래스에서 존재하는 메소드를 서브클래스에서 재정의

 

 

 

#메소드 오버라이딩2 super 사용

- 슈퍼클래스에 존재하는 메소드를 사용하고 서브클래스에서 재정의 또한 해준다.

 

 

#메인 메소드

 

 

#메소드 오버라이딩1 결과값

- 재정의 해주었기 때문에 값의 변동이 없다.

 

 

#메소드 오버라이딩2 결과값

 

- super클래스에 존재하는 인출값을 가져왔기때문에 100값이 빠져나감

 

 

#final

 

클래스에서 final 사용

 

- 클래스를 상속받지 못하게 할때 final 사용

 

#메소드에서 final 사용

 

 

- 메소드에서 오버라이드를 못하게 할때 사용

 

#변수에서 final 사용

 

- final 선언시 처음 세팅한 값을 바꿀수없음

 

#abstract클래스 (추상 클래스)

- 객체를 만드는것을 인스턴스화 라고한다.

- 해당클래스를 인스턴스화 할수 없지만 상속을 받을수 있도록 해주는 클래스

 

 

- 상속은 받지만 인스턴스화 할수 없음

 

#abstract메소드 (추상 메소드)

- 바디가 없는 메소드형태로 상속을 받은 서브클래스에서 반드시 오버라이드를 해줘야함

- 비슷한 기능을 메소드들은 같은 이름으로 묶음으로 개발시에 규격을 만들수있다.

 

 

- 추상메소드를 오버라이드하지않아 에러발생

 

 

- 오버라이드 할 경우 에러가 나지않음

 

#상속의 다형성

 

- 서브 클래스들은 슈퍼클래스 변수에 대입할수있다.

* 슈퍼클래스 변수에 담겨져 있다고 하더라도 오버라이드한 메소드가 있다면

  생성시 사용한 클래스에 오버라이드된 메소드가 실행된다.

 

- 다형성을 이용해서 객체2개를 생성하고 각각실행하면 오버라이드된 메소드가

  실행되는것을 알수있다.

 

 

 

#인터페이스(interface)

 

- 자바에선 다중상속을 허용하지않는다. 그러므로 비슷한 기능을 가진 메소드들을

  공통으로 정의해주고 싶을때 인터페이스를 사용한다.

 

- 인터페이스는 클래스들의 공통기능(메소드)만 표헌할수있고 공통데이터들은 표현할수없다.

  단 상수들은 선언이 가능하다.

 

- 상속이라는 용어대신 구현(implementation)이라한다.

 

- 인터페이스에 속하는 메소드는 무조건 추상메소드로 선언해야한다. 즉

  인터페이스의 역할은 규격을 만들어주는 역할을 한다.

 

- 인터페이스는 여러개를 구현할수있다. (, 컴마 사용)

 

#선언

 

- 인터페이스의 내부는 무조건 추상메소드라서 abstract를 추가하지않아도

  컴파일러가 자동으로 추가해준다.

 

 

 

 

- abstract를 추가해주지않아도 자동으로 추가됨

 

 

#인터페이스 사용 예

 

1.인터페이스만 구현할때

- implements 사용

 

2.상속과 인터페이스를 같이 구현할때

- extends로 상속받고 implements 사용

 

3.인터페이스를 여러개 구현할때

- ( , ) 컴마 사용

 

 

#인터페이스의 다형성

 

- Test -> Test2,Test3 구현

 

 

 

 

 

 

 

 

 

#인터페이스 상속

 

- 클래스에서 상속받은 서브클래스를 구현했을때 해당 서브클래스와 슈퍼클래스의 메소드

  까지 오버라이드 해서 구현해야한다.

 

 

 

'Java > Java1' 카테고리의 다른 글

Java [메소드]  (0) 2017.09.06
Java [switch,배열정렬,Calendar]  (0) 2017.09.03
Java [반복문,for,while]  (0) 2017.08.30
Java [문자열 가공,배열]  (0) 2017.08.28
Java [조건문,논리연산자,비교연산자]  (0) 2017.08.27

*메소드 호출문

- 클래스 안에 두개이상의 메소드를 쓸 수있다.

- 필요한 데이터를 메소드를 호출하여 넘겨주는 값(파라미터)

- 메소드는 이름과 파라미터가 동일해야 같은 메소드로 인지

 

# call by value - 파라미터로 기본형 타입을 타입을 보낼때(값 자체가 복사되어서 메소드로 전달된다.)

# call by reference - 파라미터로 레퍼런스 타입을 보낼때(주소값이 복사되어서 메소드로 전달된다.)

 

 

#메소드 호출문 기본 구조

 

메소드이름(파라미터1,파라미터2,파라미터3,) ----- 파라미터값은 하나도없을수있고 여러개가 있을수도있다.

 

 

#메소드 사용 예

 

 

 

 

 

 

 

#메인메소드를 활용해서 사칙연산 프로그램을 작성해보자!

 

 

 

 

 

#메소드를 활용해 배열선언,랜덤숫자뽑기,배열저장,큰수로 배열정리

 

'Java > Java1' 카테고리의 다른 글

Java [상속,인터페이스]  (0) 2017.09.12
Java [switch,배열정렬,Calendar]  (0) 2017.09.03
Java [반복문,for,while]  (0) 2017.08.30
Java [문자열 가공,배열]  (0) 2017.08.28
Java [조건문,논리연산자,비교연산자]  (0) 2017.08.27

*switch문

-if키워드처럼 조건문을 만드는데 사용

-여러개의 조건 설정가능

 

switch문 기본구조(형식)

 

switch (식) ------ 정수가 char 타입의 값을 산출할수있는 식

 

case 값1:

명령문들

break;

 

case 값2:

명령문들

break;

 

case 값3:

명령문들

break;

 

default:

명령문들  

break;

 

switch문은 괄호한에 있는 식을 계산하고 나서 그 식의 결과와 동일한 값을 갖는 case문을 찾아서

그 다음의 명령문을 실행한다.

 

명령문을 실행하다가 break 문을 만나면 switch문을 빠져나간다.

 

만약 괄호 안의 식과 일치하는 값을 갖는 case문이 하나도 없으면 default문 다음의

명령문들이 실행된다.

 

 

switch문 사용 예

 

 

 

int num의 값이 10이기 때문에

case 10을 실행

 

#break가 없는 switch문

 

 

10이상의 모든 case문이 실행

 

 

#스왑

 

 

#스왑 정렬

 

-큰수부터 정렬

 

 

 

#ArrayList 선언

 

 

#시간 관련 SimpleDateFormat

 

 

#Calendar 기능

 

 

 

#캘린더 만들어보기

 

 

'Java > Java1' 카테고리의 다른 글

Java [상속,인터페이스]  (0) 2017.09.12
Java [메소드]  (0) 2017.09.06
Java [반복문,for,while]  (0) 2017.08.30
Java [문자열 가공,배열]  (0) 2017.08.28
Java [조건문,논리연산자,비교연산자]  (0) 2017.08.27

*for문

- 주어진 회수만큼 처리를 반복하거나,배열 항목을 순서대로 처리할때 적합

 

#for문 기본 형식

 

for(초기화식; 조건식; 업데이트식)  ------- (변수를 선언하고 초기화,변수를 이용하여 true 또는 false값,변수의 값을 바꾸는식) 

실행부분 -----(조건식이 true일때)

 

for( ; ; )

- for문 무한루프

 

#for문을 이용한 간단한 구구단만들기

이중 for문 사용

 

 

 

 

*while문

 

- 실행부분을 시작하기 전에 조건식을 먼저 검사

- 조건식의 결고가가 true인 동안 실행부분 반복

- 반복될때마다 조건식은 매번 다시 계산

 

#while문 기본 형식

while (조건식) ------ture 또는 false

실행부분  ---------- true일때 반복실행

 

#while문 무한루프

 

 

 

 

 

 

 

#while문 무한루프를 강제로 빠져나오기 break문

이와같이 break를 사용하면 강제로 반복문을 빠져나올수있다.

 

 

#반복문을 계속하는 continue문

 

i가 5일때 위에 for문을 반복

 

5는 출력되지않음

 

 

*do-while문

 

do

실행부분 ----------조건식이 true일때 반복

while(조건식) ----------- true또는 false값

 

 

#for문을 이용한 간단한 별모양으로 삼각형 찍기

 

 

 

#로또 번호 출력해보기

 

 

'Java > Java1' 카테고리의 다른 글

Java [메소드]  (0) 2017.09.06
Java [switch,배열정렬,Calendar]  (0) 2017.09.03
Java [문자열 가공,배열]  (0) 2017.08.28
Java [조건문,논리연산자,비교연산자]  (0) 2017.08.27
Java [변수,사칙연산,형변환]  (0) 2017.08.26

*문자 가공하기

- 공백제거

- 특정 문자 위치 찾기

- 대문자 -> 소문자 , 소문자 -> 대문자 변경하기

- 문자열 자르기 및 붙이기

 

 

 

#문자열 배열

 

- int형 배열

 

 

- String형 배열

- 배열에 0번부터 2번까지 가,나,다를 순서대로 입력한후 출력은 반대로해보기

 

 

 

#랜덤으로 숫자뽑기

 

 

 

#랜덤으로 이름뽑기

 

 

 

 

#배열에 문자를 넣어서 4지 선다형 랜덤퀴즈 만들기

 

1. 총 3개의 문제

2. 각 문제는 4개의 보기를 가지고있다.

3. 2개의 문제를 풀게되고 맞을경우 점수를 획득 틀리면 점수를 차감

3. 2개의 문제는 3개의 문제중 랜덤으로 뽑는다.

4. 랜덤으로 뽑힌 문제는 중복이 되어도 상관없다.

 

*연산자 종류,설명

 구분

연산자 

기능 설명 

 사칙 연산자

+ , -  , * , / , %

사칙연산 및 나눗셈의 나머지 계산

 증가/감소 연산자

++ , -- 

변수 값을 1만큼 증가/감소 

 수치 비교 연산자

 < , > , <= , >=

수치의 크기 비교

 동등 연산자

== , != 

데이터의 동일 비교

 논리 연산자

 & , | , ^ , !

논리적 AND,OR,XOR,NOT 연산

 조건AND/OR연산자

 && , ||

최적화된 논리적  AND,OR연산

 복합 대입 연산자

+= , -= ,*= , /= , %= , &=

|= , ^= , <<=,>>=,>>>=

+,-,*,/,%,&,|,^,<<,>>,>>>연산자와

 = 연산자의 기능을 함께 수행

  

*if 조건문

- 조건이 참 일때 실행된다.

- 특정한 조건에 따라 분기처리 된다.

- else if (여러개의 조건을 비교,다중 사용가능)

- else (if문이 참이 아닐때,else if문 다음에 사용가능)

- 문자열 비교 equals

 

# if문의 사용 예

 

 

 

#else 문 사용

 

 

 

#if문을 사용해서 계산기를 만들어보자 !

1.첫번째 숫자입력받기

2.사칙연산 기호 입력받기

3.두번째 숫자입력받기

4.기호에 맞는 결과값 받기

 

 

#if 문을 이용해서 성적표 점수입력 프로그램 만들어보기

 

1.국어,영어,수학,과학 점수 100씩 가진 변수 4개선언

2.각 과목을 입력하면 점수 변경 가능

3.점수 변경후 총 점수와 평균 점수를 보여줌

4.변경과목 입력시 exit를 입력하면 총 점수와 평균값을 보여주고

  프로그램 종료

 

# boolean =  참 과 거짓을 나타내기 위해 사용하는 자료형

 

 

 

 

'Java > Java1' 카테고리의 다른 글

Java [반복문,for,while]  (0) 2017.08.30
Java [문자열 가공,배열]  (0) 2017.08.28
Java [변수,사칙연산,형변환]  (0) 2017.08.26
Java [간단한 Hello java 프로그램]  (0) 2017.08.22
Java [자바 시작과 설치]  (0) 2017.08.22

*변수란?

- 임의의 값 또는 문자열을 저장할수있는 저장공간

- 지정된 값을 변경가능

 

 

#자바 사칙연산

 

 

 

 

 

 

#형변환

 

String형을 int 형으로 형변환

- Integer.parseInt 사용

 

 

int형을 String형으로 형변환

- String.vlaueOf 사용

 

 

 

#Scanner를 이용해서 값을 입력받기

 

 

 

#단어 두개를 이용해서 붙여쓰기 기호사용

 

 

 

- String은 문자열이 하나라도 있으면 +연산자가 더하는 기능이아니라
  숫자를 차례대로 붙여넣는 형식으로 바뀐다.

 

'Java > Java1' 카테고리의 다른 글

Java [반복문,for,while]  (0) 2017.08.30
Java [문자열 가공,배열]  (0) 2017.08.28
Java [조건문,논리연산자,비교연산자]  (0) 2017.08.27
Java [간단한 Hello java 프로그램]  (0) 2017.08.22
Java [자바 시작과 설치]  (0) 2017.08.22

*Eclipse를 이용해 간단한 출력 프로그램을 만들어보자

 

프로그램을 만들려면 먼저 프로젝트를 만들어줘야 하는데

 

Eclipse를 클릭해서 들어가면 왼쪽창에 Package Exploer라는 창이 있다.

그곳에 마우스 우클릭을 하면 여러가지가 뜨는데 그중에 New라는 항목이 있다.

 

New를 클릭해서 java project를 눌러 프로젝트를 만들어주면된다. 혹시나

New를 눌렀는데 java project가 보이지 않는다면 맨 아래에 있는

 

other을 눌러주면 java project를 만들수있을것이다.

 

프로젝트 네임은 마음대로 설정하면 된다.

만들 프로그램에 맞게 이름을 설정하면 더 보기 편할것이다.

 

그럼 이제 Hello Java라는 프로젝트가 왼쪽에 생겼을것이다.

그다음은 class를 생성해야하는데

 

Hello Java를 눌러 열어주면 src가 보일텐데 src를 우클릭해서 New를 눌러

class를 클릭 생성해주면된다.

 

*Class란 ?

간단히 설명하면 자바 프로그램을 구성하는 단위이다.

여러개의 클래스로 구성될수도있지만 하나의 클래스로만 구성될수도있다.

public class (Main) << 클래스 이름 {  } 안에 있는 문장 = 클래스 본체

 

 

 

이렇게 말이다.

클래스를 생성하면 자동으로 메소드프로그램이 생성된다.

 

빨간 동그라미로 표시해둔 곳을 클릭하면 입력하지 않아도 메인 메소드를 자동으로 입력받는다.

 

*메소드란?

간단히 설명하자면 명령문들의 묶음이다.

public static void (Main) << 메소드 이름 {  } 안에있는 문장 = 메소드 본체

메소드 이름은 마음대로 정할수있지만 정해놓은 이름을 바꾸면 안된다.

클래스 또한 마찬가지이다.

 

#기본적인 Main 메소드

 

 

 

그럼 이제 Hello Java를 입력받아 출력해보자

 

 

sysout입력후 (ctrl+space)를 눌러주면 자동으로 출력함수를 만들어준다.

그리고 안에 문자열 "Hello Java를 입력해주면된다.

 

**(출력함수 뒤에 무조건 ;(세미콜론)을 붙여주어야 오류가 발생하지않는다.)

 

 

# 메소드 이름을 변경하였을때에 오류

 

 

main에 in을 지워 ma를 만들었다. 프로그램을 실행시키면 다음과 같은 오류가 발생한다.

 

 

'Java > Java1' 카테고리의 다른 글

Java [반복문,for,while]  (0) 2017.08.30
Java [문자열 가공,배열]  (0) 2017.08.28
Java [조건문,논리연산자,비교연산자]  (0) 2017.08.27
Java [변수,사칙연산,형변환]  (0) 2017.08.26
Java [자바 시작과 설치]  (0) 2017.08.22

*자바란 ?

- 객체지향 프로그래밍 언어이다.

 

# 자바 컴파일러 JDK 설치

 

http://java.sun.com/

 

 

 

 

자신의 컴퓨터에 맞는 JDK설치

파일 실행후 NEXT를 눌러 설치진행

 

JDK설치후 Eclipse 설치

 

https://eclipse.org/

 

 

 

 

설치 진행

 

설치는 별로 어렵지않게 끝난다.

설치가 끝났다면 JAVA를 본격적으로 시작해보자

 

'Java > Java1' 카테고리의 다른 글

Java [반복문,for,while]  (0) 2017.08.30
Java [문자열 가공,배열]  (0) 2017.08.28
Java [조건문,논리연산자,비교연산자]  (0) 2017.08.27
Java [변수,사칙연산,형변환]  (0) 2017.08.26
Java [간단한 Hello java 프로그램]  (0) 2017.08.22

+ Recent posts