본문 바로가기

자바의 정석10

[Chapter 9] java.lang 패키지와 유용한 클래스 '자바의 정석 3rd Edition'를 공부하며 정리한 내용입니다. 1. java.lang 패키지 자바프로그래밍에 가장 기본이 되는 클래스들을 포함하기 때문에 import문 없이도 사용 가능 1.1 Object 클래스 멤버변수는 없고 11개의 메서드만 가짐 메서드들은 모든 인스턴스가 가져야할 기본적인 것들 1. equals(Object obj) public boolean equals(Object obj){ return (this==obj); } 매개변수로 객체의 참조변수를 받아 비교하여 그 결과를 boolean값으로 알려 주는 역할 서로 다른 두 객체를 equals 메서드로 비교하면 항상 false를 결과로 얻음 이유: 두 객체의 같고 다름을 참조변수의 값으로 판단 객체를 생성할 때, 메모.. 2022. 4. 1.
[Chapter 8] 예외처리(exception handling) '자바의 정석 3rd Edition'을 공부한 후 정리한 내용입니다. 1.1 프로그램 오류 프로그램 에러(오류): 프로그램이 실행 중 어떤 원인에 의해서 오작동하거나 비정상적으로 종료되는 경우, 이 결과를 초래하는 원인 컴파일 에러 컴파일 시에 발생하는 에러 런타임 에러 실행 시에 발생하는 에러 논리적 에러 실행은 되지만, 의도와 다르게 동장하는 것 에러(error) 프로그램 코드에 의해서 수습될 수 없는 심각한 오류 ex) 메모리 부족, 스택오버플로우 예외(exception) 프로그램 코드에 의해서 수습될 수 있는 다소 미약한 오류 에러가 발생하면, 프로그램의 비정상적인 종료를 막을 길이 없지만, 예외는 발생하더라도 프로그래머가 이에 대한 적절한 코드를 미리 작성해 놓음으로써 프로그램의 .. 2022. 4. 1.
[Chapter 7] 객체지향 프로그래밍 2 '자바의 정석 3rd Editon'을 공부하며 정리한 내용입니다. 1. 상속(inheritance) 1. 상속의 정의와 장점 상속: 기존의 클래스를 재사용하여 새로운 클래스를 작성하는 것 상속을 통해 클래스를 작성하면 적은 양의 코드로 새러은 클래스를 작성할 수 있고 코드를 공통적으로 관리할 수 있기 때문에 코드의 추가 및 변경이 매우 용이 코드의 재사용성을 높이고 코드의 중복을 제거해 프로그램의 생산성과 유지보수에 기여 자바에서 상속을 구현하는 방법 새로 작성하고자 하는 클래스의 이름 뒤에 상속받고자 하는 클래스의 이름을 키워드 extends와 함께 써주면 됨class Child extends Parent { // ... } 조상 클래스 부모(parent) 클래스, 상위(super) 클래.. 2022. 4. 1.
[Chapter 6] 객체지향 프로그래밍 1_2 '자바의 정석 3rd Edition'을 공부하며 정리한 내용입니다. 4. 오버로딩(overloading) 4.1 오버로딩이란? 메서드도 같은 클래스 내에서 서로 구별될 수 있어야 하기 때문에 각기 다른 이름을 가져야 함 자바에서는 한 클래스 내에 이미 사용하려는 이름과 같은 이름을 가진 메서드가 있더라도 매개변수의 개수 또는 타입이 다르면, 같은 이름을 사용해서 메서드를 정의할 수 있음 메서드 오버로딩(method overloading): 한 클래스 내에 같은 이름의 메서드를 여러 개 정의하는 것 4.2 오버로딩의 조건 메서드 이름이 같아야 함 매개변수의 개수 또는 타입이 달라야 함 메서드의 이름이 같다 하더라도 매개변수가 다르면 서로 구별될 수 있기 때문에 오버로딩이 가능 위의 조건을 만.. 2022. 4. 1.
[Chapter 6] 객체지향 프로그래밍 1_1 '자바의 정석 3rd Edition'를 공부하며 정리한 내용입니다. 1. 객체지향 언어 1.1 객체지향언어의 역사 객체지향이론의 기본 개념: 실제 세계는 사물(객체)로 이루어져 있으며, 발생하는 모든 사건들은 사물간의 상호작용이다 실제 사물의 속성과 기능을 분석한 다음, 데이터(변수)와 함수로 정의함으로써 실제 세계를 컴퓨터 속에 옮겨 놓은 것과 같은 가상 세계를 구현 객체지향이론은 상속,, 캡슐화, 추상화 개념을 중심으로 점차 구체적으로 발전 1960년대 중반 객체지향이론을 프로그래밍 언어에 적용한 시뮬라(Simula)라는 최초의 객체지향언어가 탄생 당시에는 FORTRAN, COBOL과 같은 절차적 언어들이 주류를 이루었음 1980년대 중반 C++을 비롯한 여러 객체지향언어가 발표되면서 객체지향언어가 .. 2022. 4. 1.
[Chapter 5] 배열 (Array) '자바의 정석 3rd Edition'을 공부하며 정리한 내용입니다. 1. 배열(array) 1.1 배열(array)이란? 배열(array): 같은 타입의 여러 변수를 하나의 묶음으로 다루는 것 변수의 선언과 달리 다워야할 데이터의 수가 많을 경우 배열의 길이만 바꾸면 됨int [] score = new int[5]; // 5개의 int 값을 저장할 수 있는 배열을 생성 변수 score은 배열을 다루는데 필요한 참조변수일 뿐 값을 저장하기 위한 공간은 아님 변수와 달리 배열은 각 저장공간이 연속적으로 배치되어 있음 1.2 배열의 선언과 생성 1. 배열 선언 타입[] 변수이름; or 타입 변수이름[]; 원하는 타입의 변수를 선언하고 변수 또는 타입에 배열임을 의미하는 대괄호[]를 붙이면 됨 [.. 2022. 4. 1.
[Chapter 4] 조건문과 반복문 '자바의 정석 3rd Edition'을 공부하며 정리한 내용입니다. 제어문 프로그램의 흐름(flow)을 바꾸는 역할을 하는 문장들 조건문과 반복문이 있음 조건문: 조건에 따라 다른 문장이 수행 반복문: 특정 문장들을 반복해서 수행 1. 조건문 - if, switch 조건식과 문장을 포함하는 블럭{}으로 구성 조건식의 연산결과에 따라 실행할 문장이 달라져 프로그램의 실행흐름을 변경할 수 있음 if문과 switch문이 있으며 if문이 많이 사용됨 처리할 경우의 수가 많을 때는 switch문이 효율적이지만 if문보다 제약이 많음 1.1 if문 조건식이 true이면 괄호{} 안의 문장들을 수행하고 false일 경우 수행하지 않음if (조건식) { // 조건식이 true일 때 수행될 문장들 } 조건.. 2022. 4. 1.
[Chapter 3] 연산자(Operator) '자바의 정석 3rd Edition'을 공부하며 정리한 내용입니다. 1. 연산자(Operator) 1.1 연산자와 피연산자 연산자(operator): 연산을 수행하는 기호 (+,-.*,/ 등) 피연산자(operand): 연산자의 작업 대상(변수, 상수, 리터럴, 수식) 연산자는 피연산자로 연산을 수행하고 나면 항상 결과값을 반환 대입 연산자는 우변의 값을 좌변에 저장하고 저장된 값을 연산결과로 반환 1.2 식과 대입연산자 식: 연산자와 피연산자를 조합하여 계산하고자하는 바를 표현한 것 식을 평가(evaluation)한다: 식을 계산하여 결과를 얻는 것 하나의 식을 평가하면, 단 하나의 결과를 얻음 대입 연산자 =를 사용해 변수와 같이 값을 저장할 수 있는 공간에 결과를 저장 식의 평가결과를.. 2022. 4. 1.
[Chapter 2] 변수 '자바의 정석 3rd Edition'을 공부하며 정리한 내용입니다. 1. 변수(Variable) 1.1 변수(variable)란? 의미: 단 하나의 값을 저장할 수 있는 메모리 공간 하나의 변수에 단 하나의 값만 저장할 수 있으므로, 새로운 값을 저장하면 기존의 값은 사라짐 1.2 변수의 선언과 초기화 1. 변수의 선언 int age ; (변수타입) (변수이름) 변수타입: 변수에 저장될 값이 어떤 타입(type)인지를 지정하는 것 저장하고자하는 값의 종류에 맞게 변수의 타입을 선택해서 작성 정수형, 실수형, 문자형 등 다양한 타입을 제공 변수이름: 변수에 붙인 이름 이름을 이용해 저장공간(변수)에 값을 저장하고, 저장된 값을 읽어옮 같은 이름의 변수가 열 개 존재해서는 안됨. 서로 구별될 .. 2022. 4. 1.
[Chapter 1] 자바를 시작하기 전에 '자바의 정석 3rd Edition'을 공부하며 정리한 내용입니다. 1. 자바(JAVA Programming Language) 1.1 자바란? 썬에서 개발하여 1996년 1월에 공식적으로 발표한 객체지향 프로그래밍 언어 운영체제에 독립적. 자바로 작성된 프로그램은 운영체제의 종류에 관계없이 실행 가능 풍부한 클래스 라이브러리(Java API)를 통해 프로그래밍에 필요한 요소들을 기본적으로 제공 1.3 자바언어의 특징 1. 운영체제에 독립적 기존의 언어는 한 운영체제에 맞게 개발된 프로그램을 다른 종류의 운영체제에 적용하기 위해서는 많은 노력이 필요. Java는 그럴 필요 없음 일종의 에뮬레이터인 자바가상머신(JVM)을 통해 자바 응용프로그램은 운영체제나 하드웨어가 아닌 JVM과 통신하고 J.. 2022. 4. 1.
728x90
LIST