본문 바로가기
728x90
반응형

Study63

[Java] 6-5, 6. 생성자 & 변수의 초기화 생성자(constructor) 1. 생성자란? 생성자는 인스턴스가 생성될 때 호출되는 인스턴스 초기화 메서드이다. 인스턴스변수의 초기화 작업에 주로 사용되며 인스턴스 생성 시 실행되어야 할 작업을 위해서도 사용된다. 생성자도 메서드처럼 클래스 내에 선언되며 구조도 메서드와 유사하지만 리턴값이 없다는 점이 다르다. 하지만 일반 메서드처럼 생성자 앞에 void키워드를 사용하지 않고 아무것도 적지 않는다. 생성자의 조건은 다음과 같다. 1. 생성자의 이름은 클래스의 이름과 같아야 한다. 2. 생성자는 리턴 값이 없다.​ 생성자는 다음과 같이 정의하고 오버로딩이 가능하여 하나의 클래스에 여러개의 생성자가 존재할 수 있다. clss Card{ Card() { // 매개변수 없는 생성자. ... } Card(Str.. 2022. 9. 2.
[Java] 6-4. 오버로딩(overloading) 오버로딩(overloading) 1. 오버로딩이란? 메서드도 변수처럼 같은 클래스 내에서 구별될 수 있도록 각기 다른 이름을 가져야 한다. 그러나 자바에서는 같은 클래스 내에서 같은 이름을 가진 메서드가 있어도 매개변수의 개수 또는 타입이 다르면 같은 이름으로 메서드를 정의할 수 있다. 이렇게 한 클래스 내에서 같은 이름의 메서드를 여러개 정의하는 것을 오버로딩이라 한다. 2. 오버로딩의 조건 오버로딩이 성립하기 위해서는 다음과 같은 조건을 만족해야 한다. 1. 메서드의 이름이 같아야 한다. 2. 매개변수의 개수 또는 타입이 달라야 한다.​ 메서드의 이름이 같아도 매개변수의 개수나 타입이 다르면 구별할 수 있기 때문에 오버로딩이 가능하다. 오버로딩된 메서드들은 매개변수에 의해서만 구별될 수 있으므로 반환.. 2022. 9. 2.
[Java] 6-3. 변수와 메서드 변수와 메서드 1. 선언위치에 따른 변수의 종류 변수는 클래스변수, 인스턴스변수, 지역변수 모두 세 종류가 있다. 변수의 종류를 결정짓는 중요한 요소는 변수가 선언된 위치이다. 멤버변수를 제외한 나머지 변수들은 모두 지역변수이며, 멤버변수 중 static이 붙으면 클래스변수, 붙지 않으면 인스턴스변수이다. 변수의 종류 선언위치 생성시기 클래스 변수 (class variable) 클래스 영역 클래스가 메모리에 올라갈 때 인스턴스 변수 (instance variable) 인스턴스가 생성되었을 때 지역변수 (local variable) 클래스 영역 이외의 영역 (메서드, 생성자, 초기화 블럭 내부) 변수 선언문이 수행되었을 때 1. 인스턴스 변수(instance variable) 클래스 영역에 선언되고 클래스.. 2022. 9. 2.
[Java] 6-1, 2 객체지향언어, 클래스와 객체 객체지향언어 객체지향이론의 기본 개념은 '실제 세계는 사물(객체)로 이루어져 있으며, 발생하는 모든 사건들은 사물간의 상호작용이다.' 라는 것이다. 실제 사물의 속성과 기능을 분석한 다음에 데이터(변수)와 함수로 정의하여 실제 세계를 컴퓨터 속에 옮겨 놓은 듯한 가상세계를 구현하고 이 가상세계에서 모의실험을 하여 시간과 비용을 절약할 수 있다. 객체지향이론은 상속, 캡슐화, 추상화 개념을 중심으로 발전되었다. 객체지향언어는 기존의 프로그래밍언어와 다른 새로운 것이 아니다. 기존의 언어에 몇 가지 새로운 규칙을 추가한 발전된 형태이다. 객체지향언어의 가장 큰 장점은 코드의 재사용성이 높고 유지보수가 용이하다는 것이다. 객체지향개념을 학습할 때 재사용성과 유지보수 그리고 중복된 코드의 제거, 이 세 가지 관.. 2022. 9. 1.
[Java] 5. 배열(Array) 배열 1. 배열(array)이란? 같은 타입의 여러 변수를 하나의 묶음으로 다루는 것을 배열이라고 한다. 배열을 사용하면 많은 양의 데이터를 손쉽게 다룰 수 있다. 서로 다른 타입의 변수들로 구성된 배열은 만들 수 없다. 저장하려는 데이터의 개수 만큼 배열의 길이만 바꾸면 된다. 2. 배열의 선언과 생성 배열을 선언하는 방법은 간단하다. 원하는 타입의 변수를 선언하고 변수 또는 타입에 배열을 의미하는 대괄호[]를 붙이면 된다. 대괄호의 위치는 타입 뒤 또는 변수이름 뒤 모두 가능하다. 선언방법 선언 예시 타입[] 변수이름; int[] score; String[] name; 타입 변수이름[]; int score[]; String name[]; 배열의 생성 배열을 선언한 다음 생성해야한다. 선언하는 것은 참.. 2022. 9. 1.
[Java] 4. 조건문과 반복문 코드의 실행흐름이 위에서 아래로 흐르지만 않고 조건에 따라 문장을 건너뛰기도 하고, 같은 문장을 반복해서 수행해야할 경우도 있다. 이처럼 프로그램의 흐름을 바꾸는 역할을 하는 문장들을 제어문(control statement)이라 한다. 제어문에는 조건문과 반복문이 있다. 조건문은 조건에 따라 다른 문장이 수행되도록 하고, 반복문은 특정 문장들을 반복해서 수행한다. 조건문 - if, switch 조건문은 조건식과 문장을 포함하는 블럭({})으로 구성되어 있다. 조건식의 연산결과에 따라 실행할 문장이 달라져 프로그램의 실행흐름을 변경한다. if문과 switch문이 조건문이다. 처리할 경우의 수가 많은 경우 switch문이 효율적이지만 if문보다 사용에 제약이 많아서 if문이 주로 사용된다. 1. if문 if.. 2022. 8. 31.
[Java] 3-3,4,5,6. 산술 & 비교 & 논리 & 그 외 연산자 산술 연산자 1. 사칙 연산자 + - * / 사칙 연산자는 이미 잘 알고 있을 것이다. 피연산자가 정수형인 경우 나누는 수로 0을 사용할 수 없다. 하지만 부동 소수점값인 0.0f, 0.0d로 나누는 것은 가능하지만 그 결과는 Infinity(무한대)이다. 2. 나머지 연산자 % 나머지 연산자는 왼쪽의 피연산자를 오른쪽의 피연산자로 나누고 난 나머지 값을 결과로 반환하는 연산자이다. 나머지 연산자는 주로 짝수, 홀수 또는 배수 검사 등에 주로 사용된다. 나머지 연산자는 나누는 수로 음수도 허용한다. 하지만 부호는 무시되므로 음수의 절대값을 나눈 나머지와 결과가 같다. 비교 연산자 1. 대소비교 연산자 = 두 피연산자의 값의 크기를 비교하는 연산자로 참이면 true, 거짓이면 false를 결과로 반환한다... 2022. 8. 30.
[Java] 3-2. 단항 연산자 1. 증감 연산자 ++ -- 증감연산자는 피연산자에 저장된 값을 1 증가 또는 감소시킨다. 증감 연산자의 피연산자로 정수와 실수 모두 가능하나 상수는 불가능하다. 대부분의 연산자는 피연산자의 타입이나 값을 변경하지 않는다. 오직 대입 연산자와 증감 연산자만 피연산자의 값을 변경한다. 일반적으로 단항 연산자는 피연산자의 왼쪽에 위치하지만 증감 연산자는 왼쪽, 오른쪽 모두 가능하다. 피연산자의 왼쪽에 위치한 증감연산자의 경우 전위형(prefix), 오른쪽에 위치한 경우 후위형(postfix)이라 한다. 전위형과 후위형 모두 피연산자의 값을 1 증가 혹은 감소시킨다. 하지만 수식이나 메서드 호출에 포함된 경우 결과가 달라진다. 전위형은 값이 참조되기 전에 피연산자의 값을 증가 혹은 감소시키고 후위형은 값이 참.. 2022. 8. 30.
[Java] 3-1. 연산자 연산자(operator) 연산자는 연산을 수행하는 기호이다. 자바에서는 사칙연산(+, -, *, /)을 비롯해서 다양한 연산자를 제공한다. 천천히 하나씩 배워가보자. 1. 연산자와 피연산자 연산자가 연산을 수행하려면 반드시 연산의 대상이 있어야 한다. 이것을 피연산자라 한다. 연산자(operator): 연산을 수행하는 기호(+, -, *, / 등) 피연산자(operand): 연산자의 작업대상(변수, 상수, 리터럴, 수식) 연산자는 피연산자로 연산을 수행하고 나면 항상 결과값을 반환한다. 2. 식과 대입연산자 연산자와 피연산자를 조합하여 계산하고자 하는 바를 표현한 것을 식(expression)이라 한다. 식을 계산하여 결과를 얻는 것을 '식을 평가(evaluation)한다'고 한다. 하나의 식을 평가하면.. 2022. 8. 30.
728x90
반응형