1. 객체지향 프로그래밍의 4대 특성
1) 캡슐화 – 중요한 데이터(변수) 숨김. public method를 통해 접근
2) 상속 – 코드 재사용
3) 다형성 – 상속관계에서 다양한 동작 구현
4) 추상화 – 추상클래스와 인터페이스
2. 클래스의 구성요소
1) 속성(변수) - private으로 설정. 멤버 변수라고도 부름.
2) 기능(method) - public으로 설정. 멤버 함수라고도 부름.
3) 자동차 클래스를 만든다면
- 변수 : 색상, 속도, 주행거리
- method : 가속하기, 감속하기
3. class와 object(객체)
1) class를 설계도라고 하면 object(instance)는 class의 내용을 메모리에 생성한 제품이라고 할 수 있다.
2) object를 생성하기 위해서는 new 연산자를 사용한다.
4. 객체 만드는 법
자료형 객체참조변수 = new 자료형();
Tv t = new Tv();
① Tv t -> Tv 클래스의 객체참조변수 t가 만들어짐
② t = new Tv(); -> Tv클래스의 객체가 생성되고 시작번지값을 t에 복사.
5. 접근권한 지정자
1) public -> 모든 위치에서 참조 가능
2) protected -> 같은 패키지 + 상속관계가 있을 경우 참조 가능
3) default -> 같은 패키지에서 참조 가능(아무것도 안적었을때임)
4) private -> 클래스 내부에서만 사용 가능
6. 캡슐화
외부에 공개하는 것은 public으로...
외부에 비공개하는 것은 private으로 설정.
멤버변수는 데이터를 저장하므로 일반적으로 private로 설정하고,
setter,getter로 데이터를 입력하고 받아온다.
7. setter, getter
1) getter : 값을 읽는 method.
get+변수명 : get+name -> getName()
public String getName(){
return name;
}
2) setter : 값을 입력하는 method
set+변수명 : set+name -> setName()
public void setName(String name){
this.name = name;
}
3) 멤버변수에 대해 전부 setter와 getter를 만들어야 한다.
- 캡슐화의 목적
- 데이터 입력 시 코드작성으로 오류체크가 가능하다.
4) setter getter 단축키
① private 변수 선언 후,
② 마우스 우클릭해서 팝업메뉴 띄우고
③ source 메뉴
④ Generate getter and setter
⑤ select All -> OK
혹은
Alt + Shift + S -> R
8. 생성자
1) 리턴타입이 없음 -> public Book(){}
2) 클래스 이름과 같은 method
3) new에 의해 객체가 생성되면 자동으로 호출됨.
4) 매개변수가 있는 생성자도 있음.
Tip :
1. 모든 기능은 해당 클래스에서 만드는 것이 좋다.
- main 메소드에서 코딩하는 것이 아니라 해당 클래스에서 메소드를 만든 뒤 main에서 불러 쓰는 것이 좋음.
2. this.변수 -> 클래스에서 사용하는 멤버변수임.
3. 클래스를 공부하고 난 뒤의 내 생각
클래스 생성과 사용법은 데이터베이스 정규화와 비슷하다고 생각됨.
즉, 3차 정규화를 하듯이 클래스를 정규화하면
정규화된 테이블끼리 조인되듯이 클래스끼리 연결될 것이고
주가 되는 클래스를 객체화하면 객체화된 그 클래스 내부의 메소드를 통해 다른 클래스에 접근할 수 있다
'공부방 > 자바프로그래밍' 카테고리의 다른 글
자바 final (0) | 2020.08.07 |
---|---|
자바 static 변수(정적변수) (0) | 2020.07.30 |
자바 상속 (0) | 2020.07.26 |
자바 생성자 (0) | 2020.07.20 |
자바 Method(메소드) (0) | 2020.07.13 |
자바 배열 (0) | 2020.07.05 |
자바 반복문(for, while, do while, break,continue) (0) | 2020.07.04 |
자바 조건문(if, swich) (0) | 2020.07.02 |
댓글