인터페이스란? (=interface)
  사용될 것을 미리 전제로 하여 미리 만들어 놓은 추상 메소드의 집합.

  - 현재는 사용하지 않지만, 언젠가 미래에 사용되어질 것이라고 생각하고 밀 만들어 놓아야 합니다.
  - 하나 이상의 추상 메소드가 반드시 존재해야 합니다.
  - 그러면, 그 클래스는 반드시 추상 클래스 이거나 아니면 인터페이스 이여야 한다.

  - 그리고, 일반적인 문자열 처리도 가능합니다.

  - 접근제한자는 public 으로 시작하고, abstract라는 키워드는 생략이 가능합니다.

  - 그래서, 추상메소드는 설계는 하지만, 구현은 하지 않고, 상속을 이용하여 추상메소드 오버라이딩(=methodOverriding) 해서 사용합니다.

  - @Overring

 

 

package Inher;

import java.util.Scanner;

public class InherSample3_interface implements People3_Interface{

	@Override
	public  void personInformation() {
		// TODO Auto-generated method stub
		
		String name,jumin, stdNo;
		Scanner sc = new Scanner(System.in);
		
		System.out.println("이름을 입력해주세요");
		name = sc.next();
		System.out.println("주민번호를 입력해주세요");
		jumin = sc.next();
		System.out.println("학번을 입력해주세요");
		stdNo = sc.next();
		
		System.out.println(name);
		System.out.println(jumin);
		System.out.println(stdNo);		
		
	}
	public static void main(String[] args) {
		InherSample3_interface is3 =new InherSample3_interface();
		is3.personInformation();
		
		
	}

	

}
package Inher;

public interface People3_Interface {
	
	public abstract void personInformation(); //abstract 생략이 가능하다. 이것을 추상메소드라 부른다.
												// 설계
	
	
	
}

 

 

 

 

'코딩이야기 > JAVA' 카테고리의 다른 글

[Java] 메소드와 상속관계를 이용한 문제  (0) 2020.04.24
[JAVA] 상속과 인터페이스  (0) 2020.04.22
[JAVA] 상속  (0) 2020.04.22
[JAVA] printf  (0) 2020.04.21
[JAVA] 랜덤 클래스  (0) 2020.04.20

 1. 7개의 데이터를 입력받아서 가장 큰 값과 가장 작은 값을 구하여 출력하세요.
  2. 상속을 이용하여, ArraySample8_arraySub2 클래스에서도 최대값과 최소값을 구하여 출력해보자.
  상속(Inheritance)란?
   기존에 작성된 클래스(부모클래스) 를 바탕으로 자식 클래스에 기능과 속성을 물려주는 것.
   속성(Attribute) : 클래스에서 클래스 변수에 속하는것 들. 
   기능(method) : 클래스에서 클래스 메소드에 속하는 것듯.
    상속은 항상 오른쪽에서 왼쪽으로 상속을 준다.
   1) class A extends B {...}
    같은 클래스들 끼리의 상속 관계일 때
   2) interface A extends B {...}
   같은 인터페이스들 끼리의 상속 관계일 때
   3) class A implements B, C, D ... {...}
   클래스들과 인터페이스와의 상속 관계일 때
   4) class A extends B implements C, D, E, ... {...}
   같은 클래스들 끼리와 인터페이스들의 상속관계일 때
   이상 4가지 종류 중에서 문제의 요구사항에 맞는 것으로 골라서 사용합니다.  
  

 

생성자는 상속이 절대로 안된다. 그러므로 extends 해서 사용할 수 없다.

'코딩이야기 > JAVA' 카테고리의 다른 글

[JAVA] 상속과 인터페이스  (0) 2020.04.22
[JAVA] 인터페이스  (0) 2020.04.22
[JAVA] printf  (0) 2020.04.21
[JAVA] 랜덤 클래스  (0) 2020.04.20
[JAVA] 배열의 기초!  (1) 2020.04.17

printf();

decimal point : 십진수(숫자)

System.out.printf("%5d");

%c : 영문자(대/소) 한글자 출력 

%s : 문자열 출력할때

%f : 부동소수점 출력, 단정도 실수형

%lf : 배정도 실수형 출력

%e : 지수승 출력

package test;

public class test0421 {
	public static void main(String [] args){
		char a = 's';
		String b = "abcdefg";
		int f =12300;
		float c = 34.56789f;
		double d = 1231465.565165156;
		System.out.printf("%c \n", a);
		System.out.printf("%s \n", b);
		System.out.printf("%d \n", f);
		System.out.printf("%f \n", c);
		System.out.printf("%e \n", d);
		
	}

'코딩이야기 > JAVA' 카테고리의 다른 글

[JAVA] 인터페이스  (0) 2020.04.22
[JAVA] 상속  (0) 2020.04.22
[JAVA] 랜덤 클래스  (0) 2020.04.20
[JAVA] 배열의 기초!  (1) 2020.04.17
[JAVA]대소문자 변환  (0) 2020.04.08

랜덤 클래스(Random)
  난수 발생
  예) 로또 복권 추첨, 이벤트 추첨
  표기법

 1. 숫자 : 0~ 해당 숫자 -1 까지 난수 발생

 2. 숫자 +1  : 1 ~ 숫자까지 난수 발생

 

 

문제] 로또 복권 추첨 : 1~ 45 숫자중에서 6개 숫자를 난수로 발생

   2. 숫자 +1  : 1 ~ 숫자까지 난수 발생   1~45 까지의 난수 발생 

 

난수 발생

Random rand = new Random();

 

 

package Array;

import java.util.*;

/*
 랜덤 클래스(Random) 
 난수 발생 
 예) 로또 복권 추첨, 이벤트 추첨 
 표기법
 1. 숫자 : 0~ 해당 숫자 -1 까지 난수 발생
 2. 숫자 +1  : 1 ~ 숫자까지 난수 발생

 문제] 로또 복권 추첨 : 1~ 45 숫자중에서 6개 숫자를 난수로 발생
 2. 숫자 +1  : 1 ~ 숫자까지 난수 발생   1~45 까지의 난수 발생 

 */
public class ArraySample9_Random {

	public static void main(String[] args) {
		Random rand = new Random();
		Scanner sc = new Scanner(System.in);
		System.out.println("랜던값을 몇개 만드실건가요?");
		int count = sc.nextInt();
		
		int selectNumber[] = new int[count];
	

		for (int i = 0; i < selectNumber.length; i++) {
			selectNumber[i] = rand.nextInt(45) + 1;
			
			System.out.println(selectNumber[i] + "");
		}

	}

}

'코딩이야기 > JAVA' 카테고리의 다른 글

[JAVA] 상속  (0) 2020.04.22
[JAVA] printf  (0) 2020.04.21
[JAVA] 배열의 기초!  (1) 2020.04.17
[JAVA]대소문자 변환  (0) 2020.04.08
[JAVA] 생성자 개념  (0) 2020.04.08

배열(Array)이란?
 * 1. 같은 데이터형의 집합
 * 2. 한번 크기가 선언되면 변하지 않는 정적인 데이터 구조
 * 3. 많은 데이터를 처리 하기 위하여 사용한다.

    하나의 이름으로 하나의 데이터 형식을 가지고 여러개 데이터를 저장 할수 있는 기억공간.
 1차원 [] : 점의 세계,  간단하고 단순한 데이터 취급
 2차원 [] [] : 선의 세계,  복잡한 형태의 데이터

 3차원 [] [] [] : 면의 세계,  매우 복잡한 데이터

1 차원 배열: 행과 열이 같습니다. 수평적으로 처리합니다.

 

글은 배열의 기초과정입니다.

package Array;

public class ArraySample01 {

	public static void main(String[] args) {
		try{
		// 정수형 1차원 배열을 5개 선언
		int arr[] = new int[5];

		arr[0] = 10; // arr배열의 첫번째 구성요소
		arr[1] = 20;
		arr[2] = 30;
		arr[3] = 40;
		arr[4] = 50;

		// 1. 기본 데이터 출력
		System.out.println(arr[0]);
		System.out.println(arr[1]);
		System.out.println(arr[2]);
		System.out.println(arr[3]);
		System.out.println(arr[4]);
		// 2. 데이터 출력
		System.out.println("=========================");
		for (int i = 0; i < arr.length; i++) {
			System.out.println((i + 1) + ":" + arr[i]);
		}
		System.out.println("=========================");
		// 3. 데이터 출력 : 가변for문이나 확장 for문
		int sum  =0;
		for (int s : arr) {
			System.out.println(s);
			 sum +=s;
		
		}	 System.out.println("배열의 총 합계는 : "+sum);
		}catch(ArrayIndexOutOfBoundsException e){
			e.printStackTrace();
			System.out.println("배열 인덱스와 관련된 오류가 발생했습니다.");
		}
	}

}

'코딩이야기 > JAVA' 카테고리의 다른 글

[JAVA] printf  (0) 2020.04.21
[JAVA] 랜덤 클래스  (0) 2020.04.20
[JAVA]대소문자 변환  (0) 2020.04.08
[JAVA] 생성자 개념  (0) 2020.04.08
[JAVA]예외 클래스  (2) 2020.04.08

오늘은 대소문자 변환하는 프로그램?을 배우게 되었습니다. A~Z 를 a~z로 대문자를 소문자로 소문자를 대문자로 변환하게 됩니다.

 

package Exam1;

import java.io.IOException;

public class Exam1_1_12_3 {
	//입력된 문자가 대문자이면 소문자로, 소문자이면 대문자로 변경하는 프로그램을 작성하세요
	public static void main(String[] args) throws IOException {
		
		
		while(true){
			
		
		int ch = System.in.read();		
		if(ch >= 'A'&ch<='Z'){
			ch = ch +32;  //대문자 A==65 Z==97
			System.out.println((char)ch);
			
		}else if(ch >= 'a'&ch<='z'){
			ch = ch -32 ;
			System.out.println((char)ch);
		}
		
		}
	}

}

'코딩이야기 > JAVA' 카테고리의 다른 글

[JAVA] printf  (0) 2020.04.21
[JAVA] 랜덤 클래스  (0) 2020.04.20
[JAVA] 배열의 기초!  (1) 2020.04.17
[JAVA] 생성자 개념  (0) 2020.04.08
[JAVA]예외 클래스  (2) 2020.04.08

+ Recent posts