*클래스 편*
추상화: 중요한 정보만 클래스로 표현하는 것
선언: 보통 한 소스 파일마다 하나의 클래스를 선언하지만, 그 이상을 선언하기도 함
/ 둘 이상이라면 하나만 public,
그 클래스 이름은 파일이름과 동일해야함(메인 클래스를 나타내주는 개념)
-> 즉, 접근지정자 붙은 클래스명을 파일명으로 해야함
Ball.java
public class Ball(){...}
... -> 컴파일 -> Ball.class / Cylinder.class 생성
class Cylinder{...}
같은 패키지라면 접근지정자가 없을 시 가져다가 사용 가능
파일명: PhoneDemo.java
객체명: myPhone, yourPhone
-> 각 객체의 메서드에 접근할때에는 . 사용
필드 model, value 는 캡슐화 되지 않았기 때문에 PhoneDemo 라는 클래스에서 사용이 가능한 것
(같은 패키지 내라면 사용 가능, 캡슐화 하려면 private 필수)
+ 지역변수
클래스 내 에서의 멤버 접근: this 사용 없이 바로 필드 or 메서드 이름으로 사용
/ this(이 클래스의) . 필드 or 메서드 이름
클래스 밖 에서의 멤버 접근: 사용하려는 외부 객체 이름 . 필드 or 메서드
이름
+ 생성자
** 생성자: 객체를 생성하는 시점에서 필드를 다양하게 초기화
: 반환타입이 없으며(생성자는 변수 초기화만 해주고 따로 반환하지 않기 때문에
애초에 void 와 같은 반환타입 조차 선언할 필요가 없는 것)
: (대신 다른 클래스에서 이 객체를 사용할 수 있도록) 앞에 public 선언
: 클래스 이름과 동일한 이름
기본 생성자: 매개변수가 없으며,클래스 내에 생성자는 최소 하나는 존재해야하나, 생성자는 선언하지 않았을 경우 컴파일러가 기본 생성자 자동 추가
** 생성자 오버로딩 : 생성자 이름(클래스 이름)은 동일하게 사용하고 시그니처를 다르게
책. 쉽게 배우는 자바 프로그래밍
'개발 > 이론' 카테고리의 다른 글
[Algorithm] 알고리즘과 복잡도 (0) | 2019.02.20 |
---|---|
[JAVA] static (0) | 2019.02.20 |
[JAVA] 메서드, 객체 (0) | 2019.02.20 |
[Algorithm] 둠스데이 알고리즘 - 날짜, 요일, 윤년 (0) | 2019.02.08 |
[Algorithm] 팰린드롬 알고리즘 - 문자 대칭 (0) | 2019.02.08 |