반응형
[Java의 정석]제7장 객체지향개념 2 - 1. 상속(Inheritance) 포스팅 썸네일 이미지

삶의 늪에 들어 가기 전/정리중(미정리)

[Java의 정석]제7장 객체지향개념 2 - 1. 상속(Inheritance)

1. 상속(Inheritance) 1.1 상속의 정의와 장점 상속이란, 기존의 클래스를 재사용하여 새로운 클래스를 작성하는 것이다. 상속을 통해서 클래스를 작성하면, 보다 적은 양의 코드로 새로운 클래스를 작성할 수 있고 코드를 공통적으로 관리할 수 있기 때문에 코드의 추가 및 변경이 매우 용이하다. 이러한 특징은 코드의 재사용성을 높이고 코드의 중복을 제거하여 프로그램의 생산성과 유지보수에 크게 기여한다. 자바에서 상속을 구현하는 방법은 아주 간단하다. 새로 작성하고자 하는 클래스의 이름 뒤에 상속받고자 하는 클래스의 이름을 키워드 'extends'와 함께 써 주기만 하면 된다. 예를 들어 새로 작성하려는 클래스의 이름이 Child이고 상속받고자 하는 기존 클래스의 이름이 Parent라면 다음과 같이 ..

2014.07.03 게시됨

삶의 늪에 들어 가기 전/정리중(미정리)

[Java의 정석]제6장 객체지향개념 1 - 6. 변수의 초기화(초기화블럭)

6. 변수의 초기화 6.1 변수의 초기화 변수를 선언하고 처음으로 값을 저장하는 것을 "변수의 초기화"라고 한다. 변수의 초기화는 경우에 따라서 필수적이기도 하고 선택적이기도 하지만, 가능하면 선언과 동시에 적절한 값으로 초기화 하는 것이 바람직하다. 멤버변수는 초기화를 하지 않아도 자동적으로 변수의 자료형에 맞는 기본값으로 초기화가 이루어지므로 초기화를 하지 않고 사용해도 되지만 지역변수는 사용하기 전에 반드시 초기화를 해야 한다. class InitTest { int x; int y = x; void method1() { int i; int j = i; // 컴파일 에러발생 : 지역변수를 초기화하지 않고 사용했음. } } 위의 코드에서 x, y는 멤버변수이고, i, j는 지역변수이다. 그 중 x와 i..

2014.07.03 게시됨

삶의 늪에 들어 가기 전/정리중(미정리)

[Java의 정석]제6장 객체지향개념 1 - 5. 생성자(Constructor)

5. 생성자(Constructor) 5.1 생성자란 생성자는 인스턴스가 생성될 때 호출되는 '인스턴스 초기화 메서드'이다. 따라서 인스턴스변수의 초기화 작업에 주로 사용되며, 인스턴스 생성 시에 실행되어야 할 작업을 위해서도 사용된다. [참고]인스턴스 초기화란, 인스턴스변수들을 초기화하는 것을 뜻한다. 생성자 역시 매서드처럼 클래스 내에 선언되며, 구조도 메서드와 유사하지만 리턴값이 없다는 점이 다르다. 그렇다고 해서 생성자 앞에 리턴값이 없음을 뜻하는 키워드 void를 사용하지는 않고, 단지 아무 것도 적지 않는다. 생성자의 조건은 다음과 같다. 1. 생성자의 이름은 클래스의 이름과 같아야 한다. 2. 생성자는 리턴 값이 없다. [참고]생성자도 오버로딩이 가능하므로 하나의 클래스에 여러 개의 생성자가 ..

2014.07.03 게시됨

삶의 늪에 들어 가기 전/정리중(미정리)

[Java의 정석]제6장 객체지향개념 1 - 4. 메서드 오버로딩(Overloading)

4. 메서드 오버로딩(Method Overloading) 4.1 메서드 오버로딩이란? 메서드는 변수와 마찬가지로 같은 클래스 내에서 서로 구별될 수 있어야 하기 때문에 각기 다른 이름을 가져야 한다. 하지만, 자바에서는 한 클래스 내에 이미 사용하려는 이름과 같은 이름을 가진 메서드가 있더라도 매개변수의 개수 또는 타입이 다르면, 같은 이름을 사용해서 메서드를 정의할 수 있도록 했다. 이처럼, 한 클래스 내에 같은 이름의 메서드를 여러 개 정의하는 것을 메서드 오버로딩(Method Overloading) 또는 간단히 오버로딩(Overloading)이라 한다. 오버로딩(Overloading)의 사전적 의미는 '과적하다.' 즉, 많이 싣는 것을 뜻한다. 보통 하나의 메서드 이름에 하나의 기능만을 구현해야하는..

2014.07.03 게시됨

삶의 늪에 들어 가기 전/정리중(미정리)

[보충]static의 사용법과 개념예

먼저 결론부터 간단히 정리하면 다음과 같습니다. 1.클래스를 설계할 때, 멤버변수 중 모든 인스턴스에 공통적으로 사용해야하는 것에 static을 붙인다. - 인스턴스를 생성하면, 각 인스턴스들은 서로 독립적이기 때문에 서로 다른 값을 유지한다. 경우에 따라서는 각 인스턴스들이 공통적으로 같은 값이 유지되어야 하는 경우 static을 붙인다. 2. static이 붙은 멤버변수는 인스턴스를 생성하지 않아도 사용할 수 있다. - static이 붙은 멤버변수(클래스변수)는 클래스가 메모리에 올라갈때 이미 자동적으로 생성되기 때문이다. 3. static이 붙은 메서드(함수)에서는 인스턴스 변수를 사용할 수 없다. - static이 붙은 메서드는 인스턴스 생성 없이 호출가능한 반면, 인스턴스 변수는 인스턴스를 생성..

2014.07.03 게시됨

삶의 늪에 들어 가기 전/정리중(미정리)

[Java의 정석]제6장 객체지향개념 1 - 3. 변수와 메서드

3. 변수와 메서드 3.1 선언위치에 따른 변수의 종류 변수는 클래스변수, 인스턴스변수, 지역변수 모두 세 종류가 있다. 변수의 종류를 결정짓는 중요한 요소는 '변수의 선언된 위치'이므로 변수의 종류를 파악하기 위해서는 변수가 어느 영역에 선언되었는지를 확인하는 것이 중요하다. 멤버변수를 제외한 나머지 변수들은 모두 지역변수이며, 멤버변수 중 static이 붙은 것은 클래스변수, 붙지 않은 것은 인스턴스변수이다. 아래의 그림에는 모두 3개의 int형 변수가 선언되어 있는데, iv와 cv는 클래스 영역에 선언되어있으므로 멤버변수이다. 그 중 cv는 키워드 static과 함께 선언되어 있으므로 클래스 변수이며, iv는 인스턴스변수이다. 그리고, lv는 메서드인 method() 내부에 선언되어 있으므로 지역변..

2014.07.03 게시됨

삶의 늪에 들어 가기 전/정리중(미정리)

[Java의 정석]제6장 객체지향개념 1 - 1.객체지향언어, 2.클래스와 객체

1. 객체지향언어 1.1 객체지향언어의 역사 요즘은 컴퓨터의 눈부신 발전으로 활용 폭이 넓고 다양해져서 컴퓨터가 사용되지 않는 분야가 없을 정도지만, 초창기에는 주로 과학실험이나 미사일 발사실험과 같은 모의실험(Simulation)을 목적으로 사용되었다. 이 시절의 과학자들은 모의실험을 위해 실제 세계와 유사한 가상 세계를 컴퓨터 속에 구현하고자 노력하였으며, 이러한 노력은 객체지향이론을 탄생시켰다. 객체지향이론의 기본 개념은 '실제 세계는 사물(객체)로 이루어져 있으며, 발생하는 모든 사건들은 사물간의 상호작용이다.'라는 것이다. 실제 사물의 속성과 기능을 분석한 다음, 데이터(변수)와 함수로 정의함으로써 실제 세계를 컴퓨터 속에 옮겨 놓은 듯한 가상세계를 구현하고 이 가상세계에서 모의실험을 함으로써 ..

2014.07.03 게시됨

삶의 늪에 들어 가기 전/정리중(미정리)

[Java의 정석]제5장 배열

1. 배열(Array) 1.1 배열(Array)이란? 같은 타입의 여러 변수를 하나의 묶음으로 다루는 것을 "배열"이라고 한다. 많은 양의 데이터를 저장하기 위해서, 그 데이터의 숫자만큼 변수를 선언해야 한다면 매우 혼란스러울 것이다. 이런 경우에 배열을 사용하면 하나의 변수로 많은 양의 데이터를 손쉽게 다룰 수 있다. [참고]서로 다른 타입의 데이터를 하나로 묶어서 다루려면, 클래스를 정의해서 사용하면 된다. 한 학급의 시험점수를 저장하고자 할 때가 배열을 사용하기 좋은 예이다. 만일 배열을 사용하지 않는다면 5명의 학생의 점수를 저장하기 위해서 아래와 같이 해야 할 것이다. int score1=0, score2=0, score3=0, score4=0, score5=0 ; 하지만, 배열을 사용하면 다음..

2014.07.03 게시됨

삶의 늪에 들어 가기 전/정리중(미정리)

[Java의 정석]제4장 조건문과 반복문 - 2.반복문

2. 반복문 - for, while, do-while 반복문은 어떤 작업이 반복적으로 수행되도록 할 때 사용되며, 반복문의 종류로는 for문과 while문, do-while문이 있다. for문이나 while문에 속한 문장은 조건에 따라 한 번도 수행되지 않을 수 있지만 do-while문에 속한 문장은 최소한 한 번 이상 수행될 것을 보장한다. 반복문은 주어진 조건을 만족하는 동안 주어진 문장들을 반복적으로 수행하므로 조건식을 포함하며 switch문을 제외한 if, for, while문에 사용되는 조건식은 연산결과가 반드시 boolean형, 즉 true 또는 false이어야 한다. [참고]C언어에서는 true와 false이외의 값도 허용한다. for문과 while문은 구조와 기능이 유사하여 어느 경우에나 ..

2014.07.03 게시됨

삶의 늪에 들어 가기 전/정리중(미정리)

[Java의 정석]제4장 조건문과 반복문 - 1.조건문

1. 조건문 - if, switch 조건문은 조건식과 문장을 포함하는 블럭{}으로 구성되어 있으며, 조건식의 연산결과에 따라 실행될 문장을 달리 할 수 있다. 처리해야할 경우의 수가 많을 때는 switch문을 사용해서 표현할 수 있는지 살펴봐야 한다. [참고] 모든 switch문은 if문으로 변경이 가능하지만, 모든 if문이 switch문으로 변경 가능한 것은 아니다. 1.1 if문 if문은 널리 사용되는 조건문이며, 기본구조는 다음과 같다. if (조건식) { // 조건식의 연산결과가 true일 때 수행될 문장들을 적는다. } if 다음에 오는 조건식에는 연산의 최종결과 값이 true 또는 false인 수식만을 사용할 수 있다. 조건식의 결과가 false이면, 블럭{} 내의 문장이 실행되지 않는다. [..

2014.07.03 게시됨

반응형