본문 바로가기

기술 서적/자바의 정석

(13)
[자바의 정석] ch7. 객체지향 프로그래밍 II 1. 상속 1-1. 상속의 정의와 장점 상속 : 기존 클래스를 재사용하여 새로운 클래스를 작성 => 재사용성 : 적은 양의 코드로 새로운 클래스 작성 => 공통규율 : 코드를 공통적으로 관리 사용방법 class Child extends Parent{ // } >>상속 유의사항 - 멤버만 상속된다. - 생성자와 초기화블록은 상속되지 않는다. - 자손 클래스의 멤버 개수는 조상클래스보다 항상 같거나 많다. - 클래스간의 관계에서 형제관계는 없다. 오직 부모-자식의 관계만 존재한다. - 자손 클래스의 객체 => 조상 클래스 멤버 + 자손 클래스 멤버 ex) public class TV{ String color; boolean power; int channel; void power(){power=!power;}..
[자바의 정석] ch5. 배열 >>배열 : 같은 타입의 여러 변수를 하나의 묶음으로 다루는 것 배열의 선언 - 원하는 타입의 변수를 선언하고 대괄호[]를 붙임 - 배열의 선언 : 생성된 배열을 다루기 위한 참조변수를 위한 공간을 만들뿐 => 배열의 생성을 해야 비로소 값을 저장할 공간이 만들어짐 ex) int [] score; //배열의 선언 -> 왼쪽 공간이 만들어짐 score= new int[5] // 5개의 int 값을 저장할 수 있는 배열을 생성 -> 0x100에 5개의 int 공간 만들고 주소값을 score에 저장 >>배열의 index : 배열의 요소마다 붙여진 일련번호 => 인덱스를 벗어난 값을 사용하지 않도록 주의 => 컴파일러가 범위 확인이 불가하므로 전적으로 프로그래머의 책임 # 배열의 길이는 0일 수도 있다. ex)..
[자바의 정석] ch4. 조건문/반복문 1. 조건문 >>if문 if(조건식){ //조건식이 참일때 수행될 문장들을 적음 } -블럭 {} 의 긑에는 ;를 붙이지 않음 - 블럭의 연산이 하나인 경우 {}를 사용하지 않아도 됨 but, 이후 수정과정이 까다로워질 수 있음 >예시 if(score>60) System.out.println("합격입니다.") // if에 속한 문장 System.out.println("축하합니다.") // if에 속하지 않은 문장 >>숫자를 입력받아 분기하는 예제 import java.util.*; public class Flowex2 { public static void main(String[] args) { Scanner scanner= new Scanner(System.in); int input; System.out...
[자바의 정석] ch3. 연산자 1.1 연산자 연산자: 연산을 수행하는 기호 피연산자: 연산자의 작업대상(변수, 상수, 리터럴, 수식) => 연산자는 피연산자 연산의 결과를 항상 반환한다. 1.2 연산자의 종류 >>헷갈리는 연산자 우선규칙 식 설명 x || => and가 or보다 우선순위가 높음 >>연산자 우선순위 1. 산술>비교>논리>대입, 대입은 제일 마지막에 수행된다. 2. 단항(1) / 이항(2) >삼항(3). 단항 연산자의 우선순위가 이항 연산자보다 높다. 3. 단항/대입을 제외한 모든 연산의 진행방향은 왼쪽-> 오른쪽이다. >>산술변환 1) 두 피연산자의 타입을 같게 일치시킨다. 2) 피연산자의 타입이 int보다 작은 타입이면 int로 변환된다. => 실수로 답을 얻기 위해서는 한 피연산자를 float or double로 변..
[자바의 정석] ch2. 변수 1. 변수 더보기 변수 : 단 하나의 값을 저장할 수 있는 메모리 상의 공간 변수의 선언 int(변수의 타입) age(변수의 이름) 변수타입 : 변수에 저장될 값의 자료형 변수이름 : 저장된 메모리공간의 이름 => 변수가 선언되면 변수타입에 알맞은 저장공간이 확보됨 => 앞으로 이 저장공간은 변수이름을 통해 사용 변수의 초기화 'int age=25; -지역변수의 경우 무조건 초기화를 해주어야 한다. ex) public class Main { public static void main(String[] args) { int year=0; int age=14; System.out.println(year); System.out.println(age); year=age+2000; age+=1; System.out..