Home
동준이 블로그
Cancel

[자바의 정석] 다형성

다형성이란? 객체지향개념에서 다형성이란 여러가지 형태를 가질 수 있는 능력을 의미하며, 자바에서는 한 타입의 참조변수로 여러 타입의 객체를 참조할 수 있도록 함으로써 다형성을 프로그램적으로 구현한 것이다. 예제를 통해 알아보자. class Tv { boolean power; int channel; void power() { po...

[자바의 정석] 오버라이딩

오버라이딩이란? 조상 클래스로부터 상속받은 메서드의 내용을 변경하는 것을 오버라이딩(overriding)이라 한다. 오버라이딩의 조건 자손 클래스에서 오버라이딩하는 메서드와 조상 클래스의 메서드의 이름이 같아야 한다. 매개변수가 같아야 한다. 반환타입이 같아야 한다. 접근 제어자는 조상 클래스의 메서드보다 좁은 범위로 변경할...

[자바의 정석] 상속

상속이란? 상속이란, 기존의 클래스를 재사용하여 새로운 클래스를 작성하는 것이다. class 자손클래스 extends 조상클래스{} 상속받을 클래스의 이름 뒤에 상속받고자 하는 클래스의 이름을 키워드 extends 를 함께 써주면 된다. 상속해주는 클래스를 “조상 클래스”, 상속 받는 클래스를 “자손 클래스”라고 한다. 자손 클...

[자바의 정석] 변수의 초기화

변수의 초기화 멤버변수 초기화를 하지 않고도 자동적으로 변수의 자료형에 맞는 기본값으로 초기화가 이루어지므로 초기화 하지 않고 사용해도 되지만, 지역변수는 사용하기 전에 반드시 초기화해야 한다. 멤버변수의 초기화 방법에는 다음과 같이 3가지가 있다. 명시적 초기화(explict initialization) 생성자(Constructor...

[자바의 정석] 생성자

생성자란? 생성자는 인스턴스가 생성될 때 호출되는 ‘인스턴스 초기화 메서드’이다. 인스턴스 생성 시에 실행되어야 할 작업을 위해서도 사영된다. 생성자의 조건은 다음과 같다. 생성자의 이름은 클래스의 이름과 같아야 한다. 생성자는 리턴 값이 없다. Card c = new Card(); 1. 연산자에 의해서 메모리(heap)에 Ca...

[자바의 정석] 오버로딩

오버로딩이란? 한 클래스 내에 같은 이름의 메서드를 여러 개 정의하는 것을 ‘메서드 오버로딩(method overloading)’ 또느 간단히 오버로딩이라고 한다. 오버로딩의 조건 같은 이름의 메서드를 정의한다고 무조건 오버로딩이 아니다. 오버로딩이 성립하기 위해서는 다음과 같은 조건을 만족해야 한다. 메서드 이름이 같아야 한다. ...

[자바의 정석] 변수와 메서드

선언위치에 따른 변수의 종류 변수는 변수의 선언된 위치에 따라 3가지로 나뉜다. 클래스 변수 인스턴스 변수 지역변수 멤버변수를 제외한 나머지 변수들은 모두 지역변수이며, 멤버변수 중 static이 붙은 것은 클래스변수, 붙지 않은 것은 인스턴스 변수이다. class Variables{ int iv; //인스턴스 변수 ...

[자바의 정석] 클래스와 객체

클래스와 객체 클래스는 객체의 설계도 또는 틀이라고 정의하며, 객체는 클래스에 정의된 내용대로 메모리에 생성된 것을 뜻한다. 객체와 인스턴스 객체와 인스턴스는 같은 의미이지만, 객체는 모든 인스턴스를 대표하는 포괄적인 의미를 갖고 있으며. 인스턴스는 어떤 클래스로부터 만들어진 것인지를 강조하는 보다 구체적인 의미를 갖고 있다. ex) 책...

[JPA] JPA란?

SQL 중심적인 개발의 문제점 데이터베이스에서는 관계형 DB, 어플리케이션에서는 객체지향언어인 자바를 사용한다 했을 때, 자바에서 사용하는 객체를 SQL문으로 관계형 DB에 저장해야 한다. 그러기 위해서 자바에서는 객체를 SQL문으로 변환하여 DB에 접근하고, SQL을 자바 객체로 변환해야 하는데, 이 작업은 상당히 지루하고 반복적인 코드가 나...

[자바의 정석] 배열

배열이란? 같은 타입의 여러 변수를 하나의 묶음으로 다루는 것을 배열이라고 한다. 배열의 선언과 생성 선언방법 선언 예 타입 [] 변수이름; int [] score; String [] name;   ...