본문 바로가기

연습하기16

자바의 정석 ch6 객체지향 객체=Object 객체지향개념을 왜 도입했나? 적은 노력으로 유지보수 코드의 중복을 제거 재사용성 높임 객체지향 4가지 핵심특징 1. 캡슐화 2. 상속 3. 추상화 4. 다형성 객체지향개념은 규칙이다. 일단 외우기!! 이해보다는 실습을 위주로 하기 과자틀, 제품 설계도 → 클래스 (Class) 과자틀에 의해서 만들어진 과자들 , 제품→ 객체 (Object) 특정 클래스로부터 생성된 객체 =인스턴스 클래스는 객체를 정의 해 놓은것 클래스는 객체를 생성하는데 사용 클래스-----인스턴스화----->인스턴스(객체) 객체=속성(변수)+기능(메소드) 클래스가 왜 필요한가? 객체를 생성하기 위해 객체가 왜 필요한가? 객체를 사용하기 위해 객체를 사용한다는것은? 객체가 가진 속성과 기능을 사용하려고 객체 변수는 서로.. 2022. 12. 11.
자바의 정석 챕터 4-1 조건문 if문, switch문 if (조건식) { //조건식이 참일때 수행될문장 } else if(조건문2){ //위에식 거짓일때 이거 따져본다 } }else{ //조건식 만족하지않을때 거짓일때. 생략가능 } str.equals("yes") str는 ==대신 equals쓴다 블럭 { } 여러 문장을 하나로 묶어주는것 switch문 처리해야할 경우의 수가 많을때 유용한 조건문 조건식을 계산한다 조건식의 결과와 일치하는 케이스문으로 이동한다 이후의 문장들을 수행한다 break문이나 스위치문의 끝을 만나면 빠져나간다. switch(조건식) { case 값1 : break; default : 없을때 빠져나감 if문은 트루 폴스 두가지 스위치문은 제약조건이 있다. 그럴땐 if else문쓰기 간단하게 스위치로 바꾸.. 2022. 12. 4.
자바의 정석 챕터3-2 1. 형변환 연산자 형변환이랑 변수 또는 상수의 타입을 다른 타입으로 변환하는 것 int--->char ====>(char)65 : 'A' 유니코드 문자표에 의해서 변화된다. char--->int =====>(int)'A' : 65 2. 자동 형변환 형변환을 생략하면 컴파일러가 자동으로 형변환을 해준다. 기존의 값을 최대한 보존할 수 있는 쪽으로 자동 형변환이 된다. float f = 1234; //int타입의 값을 플로트 타입의 변수에 저장 원래는 대입 연산자의 타입이 일치해야되는데 자동으로 형변환을 시켜준다. 큰걸 작은거에 넣으면 문제없지만 작은걸 큰거에 넣으면 문제있음. 값 손실이 된다. 3. 산술 변환 연산전에 피연산자의 타입을 일치시키는 것 보다 큰 타입으로 두 연산자의 타입을 같게 일치시킨다... 2022. 12. 4.
사전교육3 객체지향프로그래밍 객체? 의사나 행위가 미치는 대상 구체적, 추상적 데이터 단위 객체를 정의 객체의 기능을 정의 클래스란? 객체를 코드로 구현한것 클래스를 정의한다 객체에 대한 청사진 객체가 하는 기능들을 메서드로 구현 메인 메소드 public ststic void main(string[ ] args){ } class 이름은 대문자로 시작 pakage 이름은 소문자로 시작 메서드란? 함수의 일종 객체의 기능을 제공하기 위해 클래스 내부에 구현되는 함수 함수란? 하나의 기능을 수행하는 일련의 코드 중복되는 기능은 함수로 구현하여 중복되는 기능은 함수로 구현하여 함수를 호출하여 사용함 함수는 입력과 출력있음 결과는 반환값 함수이름 매개변수 선언한다 객체를 생성해서 쓴다 참조변수 클래스형 변수이름 = new .. 2022. 11. 17.
학원사전학습2 반복문 주어진 조건이 만족 할 때까지 수행문을 반복적으로 수행함 while문 조건식이 참인 동안 수행문을 반복해서 수행 while(조건식) { 수행문1; } do - while문 do { sum += num; num++; }while(num 2022. 11. 17.
학원사전교육 1 리터럴 : 프로그램에서 사용하는 모든 숫자 논리 값 리터럴에 해당하는 갑은 메모리 공간인 상수 풀에 위치한다. 형변환 : 자료형이 각각 사용하는 메모리 크기와 방식이 다름 서로 다른 자료형의 값이 대입되는 경우 형 변환이 일어남 묵시적 형변환 : 작은 수에서 큰 수로 덜 정밀한수에서 더 정밀한 수로 대입되는 경우 연산자 항 : 연산에 사용되는 값 대입 연산자 부호 연산자 증가 감소 연사자 관계 연산자 복합 대입 연산자 조건 연산자 비트 연산자 대입 연산자 변수에 값을 대입하는 연산자 int age = 24; 나이를 의미하는 age %는 나머지를 구하는 연산자 특정 범위 안의 수를 구할때 종종 사용 산술 연산자 사칙 연산에 사용되는 연산자 증감 연산자 단항 연상자 val = ++num; // 2를 더하는 .. 2022. 11. 16.
자바의 정석 챕터3-1 연산자 : 연산을 수행하는 기호 피연산자 : 연산자의 연산 수행 대상 연산자의 종류 산술연산자-사칙연산과 나머지 연산 비교연산자-크고작음과 같고 다름을비교 논리연산자-그리고와 또는 으로 조건을 연결 대입연산자-우변의 값을 좌변에 저장 연산자들간의 우선순위 하나의 식에 연산자가 둘 이상 있을때 어떤 연산을 먼저 수행할지 자동으로 결정하는것 상식적으로 생각하기^^ 확실하지 않으면 괄호로 수동으로 묶어주기 연산자간의 결합규칙 보통 왼->오 대입, 단항연산자만 오>왼 산술>비교>논리>대입 순서 단항>이항>삼항 단항 연산자와 대입 연산자를 제외한 모든 연산의 진행방향은 왼>오 증감연산자 부호 연산자 -는 피연산자의 부호를 반대로 변경 +는 아무런 일도 하지않는다(실제 사용안함) 2022. 11. 9.
자바의 정석 챕터 2 - 3 화면에서 입력받기 Scanner란? 화면으로부터 데이털ㄹ 입력받는 기능을 제공하는 클래스 스캐너 사용하려면... 1.import문 추가 2.Scanner객체의 생성 받아들여라...! Scanner scanner = new Scanner System. in ; 3. 스캐너 객체를 사용 int num = scanner.nextInt(); // 화면에서 입력받은 정수를 num에 저장 String input = scanner.nextLine(); // 화면에 입력받은 내용을 input에 저장 오버 플로우 계수기가 셀수있는 최대값을 넘어설때 오버플로우라고 한다 2진수와 10진수 비교하기 1111이 최대 9999가 최대 오버플로우 발생! 0000 0000 --->정수의 오버플로우이다 최대값에 +1 ---->최소값 .. 2022. 11. 7.
자바의 정석 챕터 2-3 주말동안 소홀했습니다...자버지만 믿고 달리겠습니다...!! 믿습니다!! 변수 기본형의 종류와 크기 실수형은 실수를 부동포인트 플로트형식으로 저장=떠다닌다 double은 float보다 크기가 2배라서 더블 정수형의 디폴트는 int타입 실수형의 디폴트는 double임 1byte=8bit 1bit=2진수 한자리 0,1만 저장가능 2bit= 00,01,10,11---- 2^2 개 n비트로는 2^n 개 표현 가능 n비트로 표현할 수 있는 부호없는 정수의 범위 = 2^n -1 n비트로 표현할 수 있는 부호있는 정수의 범위= -2^n-1~2^n-1 -1 -128~127 0~255 부호 유무따라 값의 범위가 달라진다------책확인하기! 부호비트 0이면 양수 1이면 음수 byte -128~127 8bit short .. 2022. 11. 7.
자바의 정석 챕터2-2 리터럴의 접두사와 접미사 논리형 T/F 정수형 접미사 L 실수형 접미사 f,d(생략가능) 문자형 문자열 bloolean power = true; char ch = 'A'; String str = "ABC"; byte b =127; byte는 -128~127까지만 가능 byte b = 128; //error int i = 100; int oct = 0100; // 8진수 int hex = 0x100; //16진수 long 1 = 10_000_000_000L:----L생략불가 float f = 3.14f; f생략불가 double d = 3.14d; 10.-----10.0 .10----0.10 실수형 접미사 없음 더블타입 10f-----실수형 le3------1000.0d(생략가능) e는 10의 n제곱 실수형.. 2022. 11. 7.