객체는 의사나 행위가 미치는 대상(사전적의미)
구체적, 추상적 데이터의 단위 (예 : 사람, 자동차, 주문, 생산, 관리)
객체 지향 프로그래밍이란?
객체를 기반으로 하는 프로그래밍
객체를 정의하고, 객체의 기능을 구현하며, 객체간의 협력을 말한다.
절차 지향 프로그래밍이란
일어난다 > 씻는다 > 밥을 먹는다 > 버스를 탄다 > 요금을 지불한다. > 학교에도착
객체 지향 프로그래밍이란
위와같이 객체가 따로 만들어서 서로 상호작용 하는 것을 말한다.
클래스란? 객체를 코드를 구현한것이라고 할수 있다.
객체 지향프로그래밍의 가장 기본요소라고 할수 있다.
클래스 내부에 속성을 갖게되는데
그 속성을 변수로 표현하고
클래스의 기능은 메서드로 구현한다. 함수의 일종이다.
클래스는 다음과 같이 정의 할 수있다.
학생이있습니다.
학생은 학번, 이름, 주소값을 가집니다.
학생의 정보를 보여줍니다.
등등의 속성이나 기능을 넣을수 있다.
파일안에 public class가 있는데
앞의 public은 클래스에 하나만 들어가야 하고 그 해당하는 클래스의 이름은 프로젝트와 동일 하여야한다.
public은 접근 제어자로 4가지 종류가 있다.
현재 클래스 | 동일 패키지 | 상속받은 하위클래스 | 모든클래스 | |
public | O | O | O | O |
private | O | X | X |
X |
protected | O | O | O | X |
default | O | O | X | X |
- 클래스는 public 과 default만 선택가능하다.
- 필드는 다 쓸 수 있지만 보통 private로 한다. 완벽한 상수는 public static을 주로 사용한다.
- 메소드도 다 할 수 있다. 추상메소드에는 private 쓰면 안된다.
일반적으로 private 변수에 접근하거나 값을 설정하려면 getter와 setter 메소드를 이용한다. 이렇게 하면 주요한 장점으로는 아래와 같다. IDE단에서 아예 제네레이터 편하게 해준다. 네이밍 규칙은 getXxx, setXxx, 이클립스로 자동생성 가능
- getter : 데이터의 복사본을 던져주기 때문에 원본데이터 손상X
- setter : 파라미터를 검증해서 값을 넣을 수 있다.
'workSpace > JAVA' 카테고리의 다른 글
[Java][JDBC][Insert][Update][Delete]자바에 MYSQL(workbench) 데이터베이스에 추가, 수정, 변경 하기 (0) | 2020.12.07 |
---|---|
[Java][JDBC][Connection]자바에 MYSQL(workbench) 데이터베이스 연동하기 (0) | 2020.12.07 |
[Java]About GUI (0) | 2020.09.01 |
[Java]자바에서 클래스를 생성하고 사용하는법 (0) | 2020.06.24 |
[Java] 클래스, 메소드, 인스턴스 정리 (0) | 2020.06.15 |