반응형
클래스 - 데이터와 함수의 결합
- 변수 - 하나의 데이터를 저장할 수 있는 공간
- 배열 - 같은 종류의 여러 데이터를 하나의 집합으로 저장할 수 있는 공간
- 구조체 - 서로 관련된 여러 데이터를 종류에 관계없이 하나의 집합으로 저장할 수 있는 공간
- 클래스 - 데이터와 함수의 결합(구조체 + 함수)
class Tv1 { // 구조체
// 변수
String color;
boolean power;
int channel;
}
class Tv { // 클래스
// 변수
String color;
boolean power;
int channel;
// 함수
void powerOnOff() { // 전원 ON, OFF
power = !power;
}
void channelUp() { // 채널 UP
++channel;
}
void channelDown() { // 채널 DOWN
--channel;
}
}
클래스 - 사용자정의 타입(user-defined type)
프로그래밍언어에서 제공하는 자료형(primitive type)외에 프로그래머가 서로 관련된 변수들을 묶어서 하나의 타입으로 새로 추가하는 것을 사용자정의 타입(user-defined type)이라고 한다.
기본형(primitive type) 변수의 개수는 8개로 정해져 있는 반면, 참조형의 개수가 정해져 있지 않은 이유는 이처럼 프로그래머가 새로운 타입을 추가할 수 있기 때문이다.
변수로만 코딩한다면 따로따로 존재하기 때문에 제약조건을 적용하기 어렵다.
반면 객체지향언어에서는 제어자와 메서드를 이용해서 이러한 조건(제약조건)들을 코드에 쉽게 반영할 수 있다.
class Tv { // 클래스, 참조형 변수(사용자정의 타입)
// 기본형 변수
String color;
boolean power;
int channel;
// 함수
void powerOnOff() { // 전원 ON, OFF
power = !power;
}
void channelUp() { // 채널 UP
if (power) // 전원이 켜져있다면(제약조건)
++channel;
}
void channelDown() { // 채널 DOWN
if (power) // 전원이 켜져있다면(제약조건)
--channel;
}
}
반응형
'Java' 카테고리의 다른 글
메서드(method) (0) | 2021.09.13 |
---|---|
선언위치에 따른 변수의 종류 (0) | 2021.09.13 |
클래스(Class)와 객체(Object) (0) | 2021.09.13 |
객체지향언어 (0) | 2021.09.13 |
String 배열(string array) (0) | 2021.09.13 |