본문 바로가기

java의정석_6장4

변수의 초기화 변수의 초기화멤버변수는 초기화를 하지 않아도 자동적으로 변수의 자료형에 맞는 기본값으로 초기화가 이루어지므로 초기화하지 않고 사용해도 되지만, 지역변수는 사용하지 전에 반드시 초기화해야 한다. *각 타입의 기본값자료형기본값booleanfalsechar'\u000'byte, short, int0long0Lfloat0.0fdouble0.0d 또는 0.0참조형 변수nullStringnull 멤버변수의 초기화 방법1. 명시적 초기화변수를 선언과 동시에 초기화하는 것을 명시적 초기화라고 한다. class Car { int door = 4; // 기본형(primitive type) 변수의 초기화 Engine e = new Engine(); // 참조형(reference type) 변수의 초기화}명.. 2024. 5. 29.
생성자(Constructor) 생성자란?생성자는 인스턴스가 생성될 때 호출되는 '인스턴스 초기화 메서드'이다. 따라서 인스턴스 변수의 초기화 작업에 주로 사용되며, 인스턴스 생성 시에 실행되어야 할 작업을 위해서도 사용된다. 생성자의 조건1. 생성자의 이름은 클래스의 이름과 같아야 한다.2. 생성자는 리턴 값이 없다. 인스턴스를 생성하는 과정(코드 예)Card c = new Card();1. 연산자 new에 의해서 메모리(heap)에 Card 클래스의 인스턴스가 생성된다.2. 생성자 Card()가 호출되어 수행된다.3. 연산자 new의 결과로, 생성된 Card 인스턴스의 주소가 반환되어 참조변수 c에 저장된다. 기본 생성자컴파일 할 때, 소스파일(*.java)의 클래스에 생성자가 하나도 정의되지 않은 경우 컴파일러는 자동적으로 기본 .. 2024. 5. 29.
오버로딩(overloading) 오버로딩(overloading)이란?한 클래스 내에 같은 이름의 메서드를 여러 개 정의하는 것을 '메서드 오버로딩' 또는 '오버로딩'이라고 한다. 가장 대표적인 예는 println메서드가 있다. printStream 클래스에는 어떤 종류의 매개변수를 지정해도 출력할 수 있도록 오버로딩된 println 메서드를 정의해놓고 있다. 오버로딩 조건1. 메서드 이름이 같아야 한다.2. 매개변수의 개수 또는 타입이 달라야 한다.3. 반환 타입은 오버로딩을 구현하는데 아무런 영향을 주지 않는다. 오버로딩 예1)int add(int a, int b) { return a+b; }int add(int x, int y) { return x+y; }=> 오버로딩이 아니다!=> 왜? 위의 두 메서드는 매개변수의 이름만 다를 뿐.. 2024. 5. 29.
객체 지향 프로그래밍(OOP) 객체 지향 언어란?객체지향이론의 기본 개념은 '실제 세계는 사물(객체)로 이루어져 있으며, 발생하는 모든 사건들은 사물간의 상호작용이다.'라는 것이다. 실제 사물의 속성과 기능을 분석한 다음, 데이터(변수)와 함수로 정의한 것이다. 객체 지향 언어 주요특징코드의 재사용성이 높다.코드의 관리가 용이하다.신뢰성이 높은 프로그래밍을 가능하게 한다. 객체지향개념 4가지상속캡슐화추상화다형성 클래스와 객체클래스객체를 정의해놓은 것클래스란 '객체를 만들어 내는 위한 설계도 또는 틀'이다.데이터와 함수의 결합객체사전적인 정의는 실제로 존재하는 것. 사물 또는 개념프로그래밍에서의 객체는 클래스에 정의된 내용대로 메모리에 생성된 것을 뜻한다. +정리하자면 클래스와 객체의 관계는 제품 설계도와 제품의 관계라고 할 수 있다... 2024. 5. 28.