Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 오버라이딩
- 객체지향
- 자바
- S&P500
- 주린이
- FCF
- javascript
- Java
- XLF
- mco
- 기업분석
- 제태크
- 미국주식
- 다형성
- 그리디 알고리즘
- StringBuffer
- 프로그래머스
- 알고리즘
- 배당성장
- 잉여현금흐름
- 인플레이션
- object
- 주식
- 무디스
- 금리인상
- 백준
- 금리인하
- etf
- 현금흐름표
- 접근제어자
Archives
- Today
- Total
오늘의하루
[자바의 정석] 객체지향 언어 & 클래스와 객체 본문
객체지향 언어 란?
- 코드의 재사용성을 높여준다.
- 코드의 관리가 쉬워진다.
- 신뢰성이 높은 프로그램의 개발을 가능하게 한다.
클래스와 객체
클래스는 객체를 정의해 놓은 것을 말한다.
객체는 속성과 기능을 가진 개념을 말한다.
- 객체(Object)는 인스턴스(instance)를 포함하는 일반적인 의미이다.
예를 들어 붕어빵 기계는 클래스이고 붕어빵은 객체가 된다.
객체의 구성요소
객체는 속성(변수)과 기능(메서드)으로 이루어져 있으며 속성과 기능을 합쳐서 멤버라고 한다.
class Tv{
// 속성(변수)
String color;
boolean power;
int channel;
// 기능(메서드)
void power(){power = !power;}
void channelUp(){channel++;}
void channelDown(){channel--;}
}
인스턴스의 생성과 사용
- 인스턴스를 생성한다는 것은 클래스로부터 인스턴스를 생성하는 것을 말한다.
Tv t1; // 객체를 다루기 위한 참조변수 선언
t1 = new Tv(); // 객체 생성 후, 생성된 객체의 주소를 참조변수에 저장한다.
Tv t2 = new Tv(); // 위 과정을 한줄로 표현할 수 있다.
- 인스턴스를 사용한다는 것은 객체의 속성과 기능을 사용하는 것을 말한다.
Tv t = new Tv(); // 객체(Tv) 생성 후 참조변수(t)에 주소를 저장한다.
t.channel = 7; // 속성(변수)에 값을 초기화해준다.
t.channelDown(); // 기능(메서드)를 사용한다.
System.out.println(t.channel); // 6
- 여러 개의 참조 변수가 한 개의 인스턴스 주소를 가지고 있을 수 있다.
- 한 개의 참조 변수가 여러 개의 인스턴스를 가지고 있을 수는 없다.
// 지금은 각각의 참조변수에 다른 주소가 저장되어 있다.
Tv t1 = new Tv();
Tv t2 = new Tv();
// 참조변수 t2에 t1에 저장되어 있는 객체의 주소를 저장한다.
// 이제 t1,t2는 같은 주소 값을 가지게 된다.
t2 = t1;
t1.channel = 7; // t1에 저장되어 있는 객체의 속성(변수) 값을 초기화 해준다.
System.out.println(t1.channel); // 7
System.out.println(t2.channel); // 7
// t2에 저장되어 있는 객체의 주소가 t1과 동일하기 때문에 가능하다.
클래스의 또 다른 정의
클래스는 구조체와 함수가 결합한 형태를 의미한다.
- 구조체는 타입에 관계없이 서로 관련된 데이터들을 저장할 수 있는 공간을 말한다.
// 클래스 없이 별도로 존재하는 변수
int hour;
int minute;
int second;
// 클래스를 사용해 서로 관련된 값을 묶어서 하나의 타입으로 정의
class Time{
int hour;
int minute;
int second;
}
배열을 통해 여러 개의 객체를 저장할 수 있다.
class Time{
int hour;
int minute;
int second;
}
// 배열을 통해 여러개의 객체를 한개의 참조변수로 접근할 수 있다.
Time[] t = new Time[3];
t[0] = new Time();
t[1] = new Time();
t[2] = new Time();
// 사용하는 방법
t[0].hour = 4;
System.out.println(t[0].hour); // 4
'JAVA' 카테고리의 다른 글
[자바의 정석] 생성자 & 변수의 초기화 (0) | 2022.10.14 |
---|---|
[자바의 정석] 변수와 메소드 & 메소드 오버로딩 & JVM 구조 (0) | 2022.10.14 |
[Java] 자바의 정석 객체지향 part 복습 (1) | 2022.09.30 |
[프로그래머스 2단계 - JAVA] 게임 맵 최단거리 (0) | 2022.09.29 |
[프로그래머스 1단계 - JAVA] 하샤드 수 (1) | 2022.09.16 |
Comments