classname name = new classname()
-> new 연산자는 클래스의 생성자를 call, name은 포인터로 classname으로 만들어진 객체를 가리킨다.
새로운 object가 생성된다.
각 자바 클래스당 메인은 한개 Main는 실행 클래스 아닌 다른 클래스는 모두 라이브러리 클래스로 불린다.
Member in Class
- 변수
- 메소드(function)
- 생성자(Constructor)
Local variable , public variable
- 지역변수 : 오브젝트 종속 변수
- 필드 : 오브젝트(클래스)에 선언되어있는 변수
Overloading
- 오버로딩은 같은 이름의 메소드인데 다른 파라미터를 받을 수 있는 방법이다. 이는 생성자, 메소드 모두 가능하다. 이는 다형성이라 불린다. 오버라이딩과 비교해야하는데, 오버라이딩은 상속관계에서 발생하는 개념이다.
Object Array and Object Creation
ex)
day[] days = new day[]; ==>> 이는 주소만을 할당한 것이지 아직 생성한 것이 아님
days[i] = new Day() ==>> 이것이 주소에 정말로 객체를 생성한 것!
잘못된 초기화
=> int a;
Day[] days = new Day[a] // a가 뭔지 모르기 때문에 초기화 할 수 없다.
Member Type
- Instance Member : 객체 안에 소속되어있음.
- static : 클래스 자체의 속성. 클래스의 전역변수 같은 공통변수
접근법(캡슐화, 정보은닉과 관련)
- getter, setter : 사용이 가장 일반적
- public : 모두 접근 가능
- private : 내부 메소드를 사용해야함
- protected : 부모만 접근가능
Singlenton Pattern
- 객체를 한 번 생성하면 어디서든 참조가 가능한 디자인 기법
- 생성자를 private로 지정하고 인스턴스를 반환하는 static 매서드를 만듦
ex) 한 개밖에 없는 공공 프린터기. 이걸 맘대로 자기 자리에 가져가게 두면 안된다.
'CS > OOP' 카테고리의 다른 글
객체지향 프로그래밍 - Singleton Pattern 개념/예제 (0) | 2023.04.25 |
---|---|
객체지향 프로그래밍 - 상속 (java) (0) | 2023.04.19 |
객체지향 프로그래밍 (0) | 2023.04.04 |
C/C++ 포인터와 참조 : 화살표 -> 과 점 . 의 차이 (0) | 2022.10.20 |
C++ : In-line function 이란 무엇인가 (0) | 2022.10.18 |