JAVA | Class란?
객체지향 언어인 자바를 사용하면서 본격적으로 객체를 사용하기위해 필요한 클래스에 대해서 알아보려합니다.
우선 객체란 무엇인지부터 알아보겠습니다.
객체란?
객체(Object)란 물리적으로 존재하거나 추상적으로 생각할 수 있는 것 중에서 자신의 속성을 가지고 있고 다른것과 식별 가능한 것을 말합니다.
위 내용은 사전적 의미를 가져왔습니다. 글로만 보는 것보다 예시를 보는 것이 가장 좋겠죠 ?
객체란 말이 처음에는 많이 낯설게 느껴집니다. 이해하기 쉽게 접근하려면 객체란 하나의 물체 라고 생각을하고 개념을 익힌후 다시 객체의 개념으로 넓혀가는 것이 좋을 것 같다고 생각합니다.
많은 사람들이 예시로 붕어빵과 빵틀을 얘기하는데 저는 자동차로 예시를 들겠습니다.
자동차를 만들기 위해서는 여러가지 재료가 필요한데 몇가지를 생각해보면 바퀴, 창문, 핸들, 엔진, 차의 이름, 색갈, 가격 등이 필요하며 이것들이 모여 "자동차"라는 물체를 만들게 됩니다.
이 내용을 바로 코드로 적용해보겠습니다.
public class Car { public String color // 차의 색갈 public String name // 차의 이름 public String tire // 바퀴 public String window // 창문 public String handle // 핸들 public String engin // 엔진 public int price // 가격 ... }
클래스는 위 코드처럼 나타낼 수 있으며 클래스명은 대문자로 시작합니다. 이 코드로 인해 "Car" 라는 클래스가 만들어졌고 이것을 하나의 "객체" 라고 부를 수 있습니다.
클래스를 만들었다면 사용해야겠죠? 사용하기 위해서는 이것을 "인스턴스화" 한다고 하는데 변수로 만드는 것을 말하며 그 변수를 인스턴스 라고 부릅니다.
※ 실제 개발을 하면서 클래스는 하나의 파일로 만들어집니다.
public static void main(String[] args) { //객체(클래스)를 인스턴스화. // 참조변수 변수명 = new 참조변수(); Car car = new Car(); car.name = "Avante"; car.color = "black"; car.price = 3000000; System.out.println(car.name); // Avante System.out.println(car.color); // black System.out.println(car.price ); // 3000000 } ... //이 자동차의 색은 검은색, 이름은 Avante 가 되는것입니다.
※ color나 name 처럼 멤버변수가 아닌 메서드도 적용할수있습니다.
클래스의 이해를 위해서는 클래스를 공장 이라고 생각하거나, 설계도 라고 생각할수도 있습니다.
하지만 클래스에 선언된 이름이나 색갈 등이 쉽게 바뀌여서는 안됩니다.
내용이 만약 은행 송금어플에서 이체하는 금액이라 생각했을때 값이 변경된다면 큰 사고가 나게됩니다. 이를 방지하기위해서는 아래와 같이 선언하여 쓰는 방식도 다릅니다.
public class Car {
private String color // 차의 색갈
private String name // 차의 이름
private int price // 가격
...
}
public으로 선언한 내용을 private 으로 선언해주면 특정 방법 이외로는 바꿀수가 없기에 오류가 뜨게 됩니다.
그렇다면 어떻게 변경해주어야 할까요 ?
private의 값을 변경하기위해서는 생성자와 Getter, Setter 가 필요합니다.
Getter, Setter
public class Car {
private String name;
private String color;
private int price;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getColor() {
return color;
}
public void setColor(String color) {
this.color = color;
}
public int getPrice() {
return price;
}
public void setPrice(int price) {
this.price = price;
}
}
위 처럼 코드를 작성하여 getter setter 를 설정해줍니다.
String name = "k7";
String color = "black";
int price = 8000000;
Car car5 = new Car();
car5.setName(name);
car5.setColor(color);
car5.setPrice(price);
System.out.println(car5.getName());
System.out.println(car5.getColor());
System.out.println(car5.getPrice());
set은 값을 넣을때,
get은 값을 호출할때 사용합니다.
set을 설정하는 과정은 아래 사진의 순서를 참고해주세요
set의 과정을 통해 값이 정해지면 get으로 해당값을 불러오게됩니다.
정해진값이 없다면 String은 null, int는 0 인 디폴트값으로 출력됩니다.
Author And Source
이 문제에 관하여(JAVA | Class란?), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@dnjsgml418/JAVA-Class란저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)