웹개발 기초/java기초 9

자바 접근자,케스팅,추상클래스와 인터페이스

접근 권한 제어자 ( 접근자 ) default : 다른 패키지에서 접근 불가 public : 모든 곳에서 접근 가능, 해당 파일의 메인 클래스일 경우만 사용 가능 protected : 다른 패키지에서 접근 불가 , 자식은 가능 private : 다른 클래스에서 접근 불가, 메소드(getter, setter)로만 접근하자 ! package access1; public class Access1 { int data1; public int data2; protected int data3; private int data4; public int getData4() { return data4; } public void setData4(int data4) { this.data4 = data4; } } package a..

자바 클래스 실습 + 상속과 오버라이딩

클래스 실습 학생 번호 국어점수 영어점수 수학점수 총 점 평균 package classTest; class Student{ //번호 int num; //국어점수 int koscore; //수학점수 int mathscore; //총점 int sumscore; //평균 double average; //기본생성자 public Student() { ; } //초기화 생성자 public Student(int num, int koscore, int mathscore) { super(); this.num = num; this.koscore = koscore; this.mathscore = mathscore; this.sumscore = koscore + mathscore; this.average = Double.pa..

자바 class 문제 예시

클래스(반) 공통요소를 한 번만 선언해놓고 가져다 사용만 하도록 설계한다. 1. 타입이다. 클래스 안에 선언된 변수와 메소드를 사용하고 싶다면 해당 클래스 타입으로 객체를 선언해야 한다. 2. 주어이다. 원숭이가 바나나를 먹는다. Monkey.eat(“바나나”) *모든 클레스는 다 자료형이다. *클래스 안에 선언된 변수 = 필드 라고한다. *클래스이름() : 생성자, 필드 힙메모리에 클레스를 올려준다. , 앞글자 대문자이면 생성자! *객체에는 주솟값이 들어간다. 클래스 선언 class 클래스명{ 필드 (변수, 메소드) } 클래스의 필드사용 1. 객체화(instance) : - 객체(instance variable)를 만드는 작업.객체를 통해 class에 접근가능 - 추상적인 개념을 구체화 시키는 작업. ..

자바 메소드 특징

*함수 = 어떤영역안에서 선언된게 아닌거 (class 안에서 선언된거 x) *메소드 = 영역에 갇혀서 선언된것 (자바는 다 클레스 안에 있으니까 메소드겠지 ?) 메소드 주의사항 메소드를 선언할 때에는 {} (중괄호) 가 있으며, 반드시 메소드 밖에서 선언한다. (메소드 안에서 메서드 사용불가 ) 메소드를 사용할 때에는 {} (중괄호) 가 없으며, 반드시 메소드 안에서 사용한다. (메소드 안에서 메소드 사용 가능) 메소드 사용 메소드의 리턴 타입이 void 라면 실행 메소드이므로 값으로 봐서는 안된다. 메소드의 리턴 타입이 void가 아니라면 사용한 부분 통채로가 리턴 값이다. 메소드의 목적 1. 재사용(특정성을 부여해서는 절대 안된다. ) 2. 소스코드 간결화 리턴해야 할 때 사용한 쪽에 로직의 결과를 ..

자바 2차원 배열과 메소드

2차원 배열 : 배열 안에 배열 1차원 배열을 여러 개 선언할 때 관리하기 힘들기 때문에 2차원 배열을 한 번 선언한다. *100 칸중 첫번째 주솟값은 들어갈수 있으니까 , 전체 넣는게 아니라 첫번째 주솟값만 넣는것 * 2차원 배열부터는 메모리 낭비가 심함으로 선호하지 않는다. 2차원 배열 선언 자료형[][] 배열명 = {{값1,값2,값3},{값4,값5,값6}} 자료형[][] 배열명 = new 자료형[행][열]; 자료형[][] 배열명 = null; 배열명 = new 자료형[행][열]; int[][] arrData = new int[2][3]; arrData = 행의주소가 들어있음 arrData.length = 행의길이 arrData[행].length = 열의길이 *무조건 행부터 접근한다. *null 과 ..

자바 배열

기타 제어문 break : 즉시 해당 중괄호 영역을 탈출한다. - if 문 안에서 사용 시 if문을 탈출하지 않고 if 문을 감싸고 있는 중괄호 영역을 탈출 continue : 즉시 다음 반복으로 넘어감. - 아래에 작성된 코드를 실행하고 싶지 않을때 사용 반복문 for문 while문 while(조건식){ } for 문과 while 문의 목적 -for: 몇 번 반복할 지 알 때 -while : 몇 번 반복할 지 모를 때 do~while문 do{ 실행할 문장; }while(조건식); 배열 : 저장공간의 나열 1. 변수를 여러 개 선언하면 이름도 여러 개 생긴다. 이 때 각 저장공간을 관리하기가 블편하다. 따라서 n칸 배열을 한 번만 선언하면 저장공간도 n 개 생기고, 이름도 한 개 이기 때문에 관리하 기 ..

자바 연산자,반복문,조건문

입력 커서가 깜빡이고 있는 상태 입력하기 전에 출력을 통해 어떤 값을 입력해야할지 사용자에게 알려주어야 한다 . 입력 클래스 Scanner sc = new Scanner(System.in); String name = "강민정"; 입력 메소드 sc.next(): 사용자가 입력한 문자열 값 - 사용자가 입력한 값 중 공백 또는 줄바꿈 문자를 구분점으로 각 문자열을 분리 - 첫번째 문자열은 첫번째 next() 에 담고 - 두번째 문자열은 두번째 next() 에 담는다. sc.nextLine() : 사용자가 입력한 문자열 값 - 공백 또는 줄바꿈 문자도 값으로 취급 , 그대로 입력받는다. package inputTest; import java.util.Scanner; public class InputTest {..

자바 기본입출력,자료형과 형변환

*java 의 소스코드는 무조건 메인함수 안에서 시작된다 출력메소드 print() : 자동 줄바꿈 안됨 println() : 자동 줄바꿈 printf() : *출력 메소드의 목적 전달받은 데이터 및 전달할 데이터 검사, 오류발생지점 구체화 및 검사 package printTest; public class PrintTest1 { public static void main(String[] args) { //주석 comend /: 1. 설명글 작성시 // 2. 지금 당장 코드 번역하고 싶지 않을때 /* 범위주석 :1. 코드와 코드 사이 주석처리 * */ //이름 출력 부분 System.out.print("강민정"); //나이 출력 부분 System.out.print("20살"); } } -*주석 /**/ 코드..

idk 와 자바 개념

java : 컴퓨터와 소통위한 언어 소스코드 : 개발자가 작성 (명렁어) 소스파일 : 소스코드가 작성돼있는 파일 컴파일 : 소스코드 -> 컴퓨터 언어로 변경 컴파일러 : 컴파일 위한 프로그램, 명령어 콘솔 : 개발자와 컴퓨터가 소통한 결과를 보여주는 창 프로그램 : 소스코드로 잘 짜여진 틀 ->일반프로그램 : 프로그램->os(h.w 에 적절한 전기신호 흘림)->하드웨어 순서로 작동 *이식성 나쁨, os 바뀌면 암것도 못함 ->java 프로그램 : 프로그램->jvm(자바 가상os , os에 맞게 번역 이식성 ㅇ)->os(h.w 에 적절한 전기신호 흘림)->하드웨어 순서로 작동 *이식성이 좋다. jvm : java 실행해줌 jre : jvm 개발환경 , 라이브러리 파일 가짐 jdk : jre 외에 개발에 필..