자바 초기에 배우는 문법 부분은 C와 비슷하기때문에 생략
객체 지향의 개요
자바에는 객체 지향 프로그램이다. 여기서 객체의 뜻을 알 필요가 있다.

위 그림과 같이 java에서 객체란 필드(속성)과 메소드(동작)으로 구성된 모델이다.
객체지향 프로그램의 장점은 프로그램의 규모가 커지면 유지, 보수하기가 쉽다는 장점이 있다.
객체들은 서로간의 기능을 이용하고 데이터를 주고받는다.
객체간에는 3가지의 관계가 있다.
- 상속 관계
- 사용 관계
- 집합 관계
여기서 상속이란 자녀가 부모의 재산을 상속받아 사용하듯이 상위 객체(부모)의 매서드와 필드를 자식이 사용하는 것이다.
객체(Object)와 클래스(Class)의 관계
클래스에는 객체를 생성하기 위한 필드와 메소드가 있다.
클래스로 부터 만들어진 객체를 해당 클래스의 인스턴스 라고 한다.

클래스 작성의 주의점
- public은 소스 파일과 이름이 동일한 클래스만 사용할수 있다.
- 클래스의 선언 예시

다른 클래스에서 선언했던 클래스를 사용하고 싶다면 new연산자를 이용해 heap메모리에 객체를 붕어빵(인스턴스)처럼 찍어내서 사용할수 있다.

클래스의 구성 멤버
- 필드(객체의 데이터가 저장되는 곳)
필드의 초기값을 지정하지 않았다면 java에선 자동으로 기본값으로 초기화된다.
필드의 참조는 < 클레스 변수이름 = new 클레스 > 로 다른 클레스에서 인스턴스를 생성한 후 해당 객체의
이름.필드변수 이름 으로 참조한다.

- 생성자(객체 생성시 초기화 역할 담당)
생성자도 오버로딩이 가능하다.

- 메서드(객체의 동작에 해당하는 실행 블록)

메서드 오버로딩 : 매개변수의 타입, 개수, 순서가 달라야 한다.
한마디로 매서드의 입력값이 달라야 한다. 리턴타입과는 무관
생성자
new 연산자와 같이 사용되어 클래스로부터 객체 생성 시 호출되어 객체의 초기화 담당
필드의 값 설정
메서드 호출해 객체를 사용할 수 있도록 준비하는 역할 수행
생성자 이름은 클래스 이름과 같음
생성자의 반환 타입은 없음
생성자도 오버로딩할 수 있음
댓글