프로그래밍 언어 209

[Java] 클래스 상속과 포함관계

목차 1. 클래스 상속 1.1. 상속이란? 1.2. 단일 상속 1.3 Object 클래스 - 모든 클래스의 조상 2. 포함관계 2.1. 포함관계란? 1. 상속 1.1. 상속이란? 기존 클래스의 맴버와 메서드를 다른 클래스에 모두 물려주는 것을 말한다. 상속을 하는 클래스를 부모 클래스, 상속을 받는 클래스를 자식 클래스라고 한다. 부모 클래스 상속을 해주는 클래스 자식 클래스 상속을 받는 클래스 상속은 extends 키워드를 사용한다. 코드 예제 public class InherentEx1 { public static void main(String[] args) { Child child = new Child(); System.out.println("child.lastName = " + child.last..

[Java] 변수의 초기화

목차 1. 변수의 초기화 2. 명시적 초기화 3. 초기화 블럭 4. 멤버변수의 초기화 시기와 순서 1. 변수의 초기화 변수를 선언하고 처음으로 값을 저장하는 것을 "변수의 초기화"라고 한다. 가능하면 선언과 동시에 적절한 값으로 초기화하는 것이 좋다. 멤버변수는 초기화 하지 않아도 자동적으로 변수의 자료형에 맞는 기본값으로 초기화가 이루어지므로 초기화하지 않아도 되지만, 지역변수는 사용하기 전에 반드시 초기화해야 한다. 코드예제 지역변수는 초기화하기 전에 사용하면 Variable might not have been initialized 라는 에러가 발생한다. 2. 명시적 초기화 변수를 선언과 동시에 초기화하는 것을 명시적 초기화라고 한다. 코드예제 public class InitializeEx2 { pu..

[Java] 생성자란?

목차 1. 생성자란? 2. 기본 생성자 3. 매개변수가 있는 생성자 4. this(), this 1. 생성자란? 인스턴스가 생성될 때 호출되는 "인스턴스 초기화" 담당 메서드이다. 생성자의 구조는 메서드와 유사하지만 리턴값이 없다. 생성자는 여러 개 존재할 수 있다. 한편, 생성자의 조건은 아래 두가지이다. 1. 생성자의 이름은 클래스의 이름과 같아야 한다. 2. 생성자는 return 값이 없다. 생성자의 동작 과정을 예제 코드를 통해 알아보자. 코드 예제 public class ConstructorEx1 { public static void main(String[] args) { Fruit fruit = new Fruit(); } } class Fruit { Fruit() { } } 1. 연산자 new..

[Java] 오버로딩이란?

목차 1. 오버로딩이란? 2. 오버로딩 조건 3. 오버로딩 예시 4. 오버로딩 장점 5. 가변인자(varargs와 오버로딩) 1. 오버로딩이란? 메서드는 보통 각기 다른 이름을 갖지만, 이름이 같은 경우도 있다. 매개 변수의 개수나 타입이 다르면, 같은 이름인 경우에도 사용할 수 있다. 이렇게 한 클래스 내에 같은 이름의 매서드를 여러 개 정의하는 것을 메서드 오버로딩이라고 한다. 2. 오버로딩 조건 메서드 이름이 같다. 매개변수의 개수 또는 타입이 다르다 3. 오버로딩 예시 잘못된 예시 1 : 매개변수의 이름만 다른 경우 매개변수의 이름만 같고, 매개변수의 타입과 개수는 같아 오버로딩이 성립하지 않는다. 잘못된 예시 2 : return 타입만 다른 경우 역시 매개변수의 타입과 개수는 같아 오버로딩이 성..

[Java] 변수와 메서드

목차 1. 변수의 종류 2. 메서드 1. 변수의 종류 변수에는 클래스변수, 인스턴스 변수, 지역 변수 총 3가지가 있다. 변수의 종류를 결정짓는 중요한 요소는 ' 변수가 선언된 위치'이다. 멤버 변수를 제외하고는 모두 지역변수이다. 멤버 변수는 클래스 내의 변수로서 클래스 변수와 인스턴스 변수로 나뉜다. 변수의 종류 선언 위치 생성시기 클래스 변수 클래스 영역 클래스가 메모리에 올라갈 때 인스턴스 변수 인스턴스 생성 시 지역변수 클래스 영역 외의 영역 변수 선언문이 수행되는 경우 인스턴스 변수 인스턴스 변수는 인스턴스마다 독립된 저장공간을 가지므로, 인스턴스마다 서로 다른 값을 가질 수 있다. 각각의 인스턴스마다 고유한 상태를 유지해야 하는 속성의 경우, 인스턴스 변수로 선언해야 한다. 클래스 변수 멤버..

[Java] 클래스와 객체

목차 1. 클래스와 객체 2. 객체와 인스턴스 3. 객체의 구성요소 - 속성과 기능 4. 인스턴스의 생성과 사용 5. 객체배열 1. 클래스와 객체 클래스는 객체를 정의해 놓은 것으로, 객체를 생성하는 데 사용된다. 객체는 클래스에 정의된 대로 메모리에 생성된 것을 의미한다. 클래스는 제품의 설계도 객체는 제품 2. 객체와 인스턴스 클래스로부터 객체를 만드는 과정을 클래스의 인스턴스화라고 한다. 어떤 클래스의 객체를 그 클래스의 인스턴스라고 한다. 인스턴스와 객체는 같은 의미이지만, 객체는 모든 인스턴스의 대명사이고, 인스턴스는 특정 클래스의 객체를 의미한다는 점에서 약간의 차이가 있다. 3. 객체의 구성요소 - 속성과 기능 객체는 속성과 기능이라는 두 요소로 구성되어 있다. 클래스에는 객체의 모든 기능과..

[Java] 배열(Array)

목차 1. 배열 1.1 배열이란? 1.2 배열의 길이와 인덱스 1.3 배열의 초기화 1.4 배열의 복사 2. String 배열 2.1 스트링 배열의 선언과 초기화 3. 이차원 배열 3.1 이차원 배열의 초기화 1. 배열 1.1 배열이란? 배열은 같은 타입의 여러 변수를 하나의 묶음으로 다루는 것이다. 코드예제 int[] number = new int[5]; // 타입: int형 길이 5인 배열 1. new int[5] 로메모리의 빈 공간에 5개의 int형 데이터를 저장할 공간이 마련된다. 2. 이후 배열의 요소들이 초기값인 0으로 초기화된다. 3. = 대입 연산자에 의해 길이 5인 배열의 주소값이 참조변수 number에 저장된다. 1.2 배열의 길이와 인덱스 배열의 길이 위의 예시에서 입력한 5가 바로 ..

[Java] 자바 연산자(Java Operator)

목차 1. 연산자 정의 2. 연산자 종류 1. 연산자 정의 프로그램에서 데이터를 처리하고 결과를 산출하는 것을 연산(operation)이라고 한다. 연산을 수행하는 기호를 연산자(operator)라고 한다. 연산의 대상을 피연산자(operand)라고 한다. 2. 연산자 종류 종류 연산자 설명 산술 연산자 +, -, *, /, %, 사칙연산과 나머지 연산 증감 연산자 ++, -- 피연산자에 저장된 값을 변경한다. 비교 연산자 >, =, short -> int -> long -> float -> double char -> int * 나머지연산자 주의할 점: % 1. 나머지 연산 시 부호는 무시된다. 연산 이 후 나머지 연산을 한 결과에 왼쪽 피연산자의 부호를 붙인 값이 출력 된다. public class O..

[Java] 비트와 바이트 / 2의 보수법

목차 1. 비트와 바이트 2. 진법 1. 비트와 바이트 한 자리의 2진수를 '비트'라고 하며, 1 비트는 컴퓨터가 값을 저장할 수 있는 최소 단위이다. 하지만 이는 너무 작은 단위이고 보통 8비트인 1바이트를 데이터의 기본 단위로 사용한다. *참고 워드: CPU가 한번에 처리할 수 있는 데이터의 크기 64비트 CPU에서는 64비트 = 8 바이트가 1워드이다. 2. 진법 2.1 진법 변환 10진수를 다른 진수로 변환하려면, 해당 진수로나누고 나머지 값을 옆에 적는 것을 더 이상 나눌 수 없을 때까지 반복한 다음 마지막 몫과 나머지를 아래부터 위로 순서대로 적으면 된다. 그냥 그림으로 보는 게 이해가 빠르다. 88 = 1011000(2) n진수를 10진수로 변환하는 경우는 각 자리의 수에 해당 단위의 값을 ..

[Java] 변수와 상수, 변수의 타입

목차 1. 변수와 상수 2. 변수의 타입 1. 변수와 상수 /** * 변수의 선언 */ float a; // float는 변수 타입 // a는 변수 이름 /** * 변수의 초기화 */ a = 35; 1.1 변수 변수란? 단 하나의 값을 저장할 수 있는 메모리 공간 변수타입 변수에 저장될 값이 어떤 타입인지를 지정하는 것 예제의 경우에서 float 변수이름 변수로 사용할 메모리 공간에 붙인 이름 예제의 경우에서 a 변수를 선언하면, 변수타입에 알맞은 크기의 저장공간이 확보되고, 이를 a라는 이름을 통해 사용할 수 있게 된다. 한편 변수는 선언이후 초기화가 필요하다. 변수의 초기화 변수를 사용하기 전에 처음으로 값을 저장하는 것 1.2 상수 상수란? 변수와 마찬가지로 '값을 저장하는 공간'이지만, 바꿀 수 ..

728x90