
2일차 포스팅 맨 처음에 메소드와 클래스에 대한 개념을 정리해 놓았는데, 오늘 주제가 메소드와 클래스였다 ㅋㅋ 더 자세히 정리해보자.
public static void abc(int a) { return b,c; }
public static void main(String[ ] args) {
abc(1000)
}
-> 1000을 인자라고 함. , 1000은 int.
String[] names = { "a", "b", "c"};
ObjectMapper om = new ObjectMapper(); // 외부에서 가져온 json으로 변환하는 도구
String json = om.writeValueAsString(names);
System.out.println(json);
void 타입이란 반환값이 없는 경우를 말한다. 주로 유효성 검사 메소드에 많이 사용된다.
A 클래스의 run()을 가져오고 싶다고 하자.
A a = new A();
a.run();
이때 a는 참조 변수.
정의 : 동일한 이름의 메소드.
구분 : 매개변수의 종류, 개수, 순서 중 하나라도 무조건 달라야 함.
자바는 대표적인 객체 지향 프로그래밍이다. 여기서 객체란, 속성과 동작으로 구성된다.
클래스를 사용하려면 일단, 생성자(클래스 객체)를 만들어야 한다.
집합, 사용, 상속.
<머신 클래스>
public calss Machine{
pubilc void start();
public void stop();
}
<Car 클래스>
public class Car extends Machine { //머신 상속
private Engine engine;
private Tire tire;
public Car() {
engine = new Engine();
tire = new Tire();
}
public void drive() {
engine.run(); -> 엔진 클래스의 run기능 //집합
tire.roll(); -> 타이어 클래스의 roll기능 //집합
System.out.println("자동차");
}
}
<Person 클래스> // 자동차 객체 사용
public class Person {
private String name; //속성
public Person(String name) { //기능
this.name = name;
}
public void driveCar() {
Car car = new Car(); //외부 클래스 사용
car.start(); // Machine에서 상속된 메서드
car.drive(); // Car의 메서드
car.stop(); // Machine에서 상속된 메서드
}
}
이런식으로 상호작용이 가능하다.
이렇게 복잡해 보이는 클래스 들을 사용하는 이유는, 향후 규모가 커질때 훨씬 코드의 유지 보수가 쉬워지고 중구난방으로 데이터들이 흩어지지 않게 되어 관리하기에 좋기 때문이다.