✏️ 객체지향언어의 특징
1. 코드의 재사용성이 높다.
2. 코드의 관리가 용이하다.
-> 코드 간의 관계를 이용해서 적은 노력으로 쉽게 코드를 변경할 수 있다.
3. 신뢰성이 높은 프로그래밍을 가능하게 한다.
-> 제어자와 메서드를 이용해서 데이터를 보호하고, 올바른 값 유지하도록 하고,
코드의 중복을 제고해서 코드의 불일치로 인한 오동작을 방지한다.
=> 코드의 재사용성이 높고 유지보수가 용이하다.
✏️ 클래스와 객체
- 클래스란 ? 객체의 설계도 또는 틀. 객체를 생성하는 데 사용되며, 객체는 클래스에 정의된 대로 생성된다.
- 클래스의 인스턴스화란 ? 클래스로부터 객체를 만드는 과정.
- 객체란 ? 실제로 존재하는 것. 속성과 기능으로 구성된다.
속성 -> 멤버변수(TV에서의 크기, 길이, 볼륨, 채널 등)
기능 -> 메서드(TV에서의 켜기, 끄기, 볼륨 조절하기, 채널 변경하기 등)
- 인스턴스란 ? 어떤 클래스로부터 만들어진 객체.
인스턴스와 객체는 같은 의미이다.
단, 객체는 모든 인스턴스를 대표하는 포괄적인 의미이고,
인스턴스는 어떤 클래스로부터 만들어진 것인지를 강조하는 의미이다.
✏️ 객체 생성과 사용
package coding;
class Tv {
String color;
int channel;
boolean power;
}
public class objectEx {
public static void main(String[] args) {
Tv t = new Tv(); //객체 생성
System.out.println(t.channel); //0 출력
t.channel= 7;//channel 변수의 값 변경
System.out.println(t.channel); //7 출력
Tv[] tvArr = new Tv[3]; //객체 배열 생성
tvArr[0]=new Tv(); //객체 생성해서 배열에 저장
tvArr[0].channel=1;
//tvArr[1].channel=2; 배열만 생성하고, 객체를 생성하지 않고 값을 대입하려고 하면 에러남.
System.out.println(tvArr[0].channel); //1 출력
Tv[] tvArr2 = {new Tv(), new Tv(), new Tv()}; //배열과 초기화를 한 줄에
tvArr2[0].channel=2;
System.out.println(tvArr2[0].channel); //2 출력
}
}
'클라우드 스쿨 > 자바' 카테고리의 다른 글
Problem 10828 - 스택(JAVA) (0) | 2023.06.29 |
---|---|
Static, String (0) | 2023.06.26 |