자바의정석

· Java
상속의 정의와 장점 상속이란, 기존의 클래스를 재사용하여 새로운 클래스를 작성하는 것이다. 코드를 공통적으로 사용하는 클래스를 상속받게 되면 적은 양의 코드로 클래스를 작성할 수 있고 , 코드를 공통적으로 관리할 수 있어 코드의 재사용성과 중복을 제거 할 수 있다. 새로 작성하고자 하는 클래스의 이름 뒤에 상속받고자 하는 클래스의 이름을 extends 와 함께 써주기만 하면 된다. 상속해주는 클래스를 조상 클래스(부모 클래스, 상위 클래스, 기반 클래스)라고 하며, 상속받는 클래스는 자손 클래스(자식 클래스, 하위 클래스, 파생된 클래스)라고 한다. class Child extends Parent { ... } 조상 클래스와 자손 클래스의 관계 상속받은 자손 클래스는 상속해준 조상 클래스를 포함하고 있다..
· Java
변수의 초기화란? 변수를 선언하고 처음으로 값을 저장하는 것 경우에 따라서 필수적이기도 하고 선택적이기도 하지만, 가능하면 선언과 동시에 적절한 값으로 초기화 하는 것이 바람직하다. 멤버 변수는 초기화를 하지 않아도 변수의 자료형에 맞는 기본값으로 초기화 된다. 하지만 지역변수는 사용하기 전에 반드시 초기화 해야한다. class InitTest { int x; // 인스턴스 변수 int y = x; // 인스턴스 변수 void method() { int i; // 지역변수 int j = i; // 에러 발생. 지역변수를 초기화 하지않고 사용 } } 명시적 초기화(explicit initialization) 변수를 선언과 동시에 초기화하는 것을 명시적 초기화라고 한다. 여러 초기화 방법 중에서 가장 우선적..
· Java
오버로딩(overloading)이란? 사전적 의미는 많이 싣는 것을 뜻한다. 한 클래스 내에 이미 사용하려는 이름과 같은 이름을 가진 메서드가 있더라도 매개변수의 개수 또는 타입이 다르면 같은 이름을 사용해서 메서드를 정의할 수 있다. 보통 하나의 메서드 이름에 하나의 기능만을 구현해야 하는데 여러기능을 구현하기 때문에 오버로딩(많이 싣는 것)이라고 한다. 같은 일을 하지만 매개변수를 달리해야하는 경우에 오버로딩을 구현한다. 오버로딩의 조건 메서드 이름이 같아야 한다. 매개변수의 개수 또는 타입이 달라야 한다. 반환 타입(return type)은 아무 상관이 없다. 메서드의 이름이 같다 하더라도 매개변수가 다르기 때문에 서로 구별될 수 있어 오버로딩이 가능하다. int add(int a, int b) {..
· Java
생성자란? 인스턴스가 생성될 때 호출되는 인스턴스 초기화 메서드 인스턴스 변수의 초기화 작업 또는 인스턴스 생성 시 실행되어야 할 작업을 선언한다. 생성자 선언 규칙 생성자의 이름은 클래스 이름과 같아야 한다. 생성자는 반환값(return variable)이 없다. 반환값이 없지만 void는 생략할 수 있다. 생성자도 오버로딩이 가능하다. class Card { Card() { // 매개변수가 없는 생성자 ... } Card(String k, int num) { // 매개변수가 있는 생성자(오버로딩) ... } } 기본 생성자(default constructor) 모든 클래스는 반드시 하나 이상의 생성자가 정의되어 있어야 한다. 클래스에서 생성자를 정의하지 않고도 인스턴스를 생성할 수 있었던 이유는 컴파..
· Java
메서드란? 특정 작업을 수행하는 일련의 문장들을 하나로 묶은 것이다. 메서드는 작업을 수행하는데 필요한 값만 넣고 원하는 결과를 얻으면 될 뿐, 내부적으로 어떤 과정을 거쳐 결과를 만들어내는지 전혀 몰라도 된다. 이를 내부가 보이지 않는 '블랙박스(black box)'라고도 한다. 메서드는 크게 '선언부(header, 머리)' 와 '구현부(body, 몸통)'으로 이루어져 있다. 메서드 선언부(method declaration, method header) 작업을 수행하기 위해서 어떤 값들을 필요로 하고, 작업의 결과로 어떤 타입의 값을 반환하는지에 대한 정보를 제공한다. 메서드의 선언부를 변경하게 되면, 그 메서드를 호출하는 모든 곳도 같이 변경해야되기 때문에 변경사항이 발생하지 않도록 신중히 작성해야 한..
· Java
변수는 클래스변수, 인스턴스변수, 지역변수 모두 세 종류가 있다. 변수의 종류를 결정짓는 중요한 요소는 변수의 선언된 위치이다. 인스턴스변수(instance variable) 클래스 영역에 선언되며, 클래스의 인스턴스를 생성할 때 만들어진다. 클래스 영역안에 선어되었기 때문에 사용하려면 인스턴스를 생성해야 한다. 각 인스턴스마다 다른 값을 저장할 수 있다. 클래스변수(class variable) 인스턴스변수 앞에 static을 붙히기만 하면 된다. 인스턴스변수와는 달리 모든 인스턴스는 공통적인 값을 유지해야한다. 인스턴스를 생성하지 않아도 '클래스이름.클래스변수'와 같은 형식으로 사용한다. 클래스가 메모리에 로딩될 때 생성되어 프로그램이 종료될 때 까지 유지된다. public을 앞에 붙이면 같은 프로그램..
· Java
클래스 - 데이터와 함수의 결합 변수 - 하나의 데이터를 저장할 수 있는 공간 배열 - 같은 종류의 여러 데이터를 하나의 집합으로 저장할 수 있는 공간 구조체 - 서로 관련된 여러 데이터를 종류에 관계없이 하나의 집합으로 저장할 수 있는 공간 클래스 - 데이터와 함수의 결합(구조체 + 함수) class Tv1 { // 구조체 // 변수 String color; boolean power; int channel; } class Tv { // 클래스 // 변수 String color; boolean power; int channel; // 함수 void powerOnOff() { // 전원 ON, OFF power = !power; } void channelUp() { // 채널 UP ++channel; } ..
· Java
객체지향언어의 역사 초창기 컴퓨터는 주로 과학실험이나 미사일 발사실험과 같은 모의실험(simulation)을 목적으로 사용했다. 과학자들은 실제 세계와 유사한 가상 사계를 컴퓨터 속에 구현하고자 노력했으며 이러한 노력은 객체지향이론을 탄생시켰다. 객체지향이론의 기본 개념은 "실제 세계는 사물(객체)로 이루어져 있으며, 발생하는 모든 사건들은 사물간의 상호작용이다. " 라는 것이다. 실제 사물의 속성과 기능을 분석한 다음, 데이터(변수)와 함수로 정의함으로써 실제 세계를 컴퓨터 속에 옮겨 놓은 것과 같은 가상세계를 구현하고, 이 가상세계에서 모의 실험을 함으로써 많은 시간과 비용을 절약할 수 있었다. 객체지향이론은 상속, 캡슐화, 추상화 개념을 중심으로 점차 구체적으로 발전되었으며 1960년대 중반에 시뮬..
· Java
String 배열의 선언과 생성 & 초기화 배열의 타입이 String인 경우에도 배열의 선언과 생성방법 및 초기화는 다르지 않다. String의 기본값은 null이므로 각 요소의 값은 null로 초기화 된다. char 배열과 String 클래스 String 클래스는 char 배열에 여러 기능을 추가하여 확장한 것 그러므로 char 배열보다 String 클래스를 사용하는 것이 문자열을 다루기 쉽다. 다만 String 객체(문자열)는 읽을수만 있을 뿐 내용을 변경할 수 없다. (변경 가능한 문자열을 다루려면 StringBuffer클래스 사용) 문자열을 숫자로 변환하려면 Integer.parseInt()를 사용 String str = "java"; String strNum = "8"; str += strNum..
· Java
다차원 배열(multi-dimensional array)이란? 2차원 이상의 배열(array) 2차원 배열의 선언과 생성 2차원 배열을 선언하는 방법은 1차원 배열과 같지만 괄호[]가 하나 더 들어간다. int[][] numArray = new int[4][3]; // 4행 3열의 2차원 배열 선언 및 생성 2차원 배열의 길이와 인덱스(index) 2차원 배열은 행(row)와 열(column)로 구성되어 있기 때문에 길이와 index도 행과 열 별로 존재한다. 2차원 배열의 길이 2차원 배열은 행의 길이, 각 행마다 열의 길이가 존재한다. int[][] numArray = new int[4][3]; // 4행 3열의 2차원 배열 선언 및 생성 System.out.println(numArray.length..
beekei
'자바의정석' 태그의 글 목록 (2 Page)