클래스
- 멤버변수(속성, 필드) 와 메소드(동작)
추상화의 개념,, (abstrack)
객체(인스턴스) 는 new 를 통하여 생성됨.
- 보통 하나의 소스파일에 하나의 클래스를 선언한다. (두 개 이상도 가능은 하다) 컴파일하면 클래스 갯수만큼 생긴다 그리고 파일명과 같은 클래스에만 public을 붙일 수있다. 그러니 클래스는 1개만 선언하는 것이 좋음!
.(도트) 연산자는 접근 연산자로 클래스 내 멤버변수나 메소드에 직접 접근 혹은 호출하는 방법이다.
객체지향프로그래밍의 특징
- 캡슐화 (접근제한자 사용)
- 상속 (inheritance)
- 다형성
보통 라이브러리 클래스와 실행클래스로 분리하여 제작한다.
생성자 : 클래스 내 멤버변수를 초기화하기에 좋다. 호출과 동시에 실행되므로.
this 는 나 자기자신을 의미!! 반드시 생성자의 첫줄에서만 허용된다.
매개변수의 수를 모를 경우,
매개변수를 크기가 정해져있지않은 배열로 넣어준다.
메서드에서 return값은 1개만 반환가능하다.
앞에 is가 붙은 메소드들은 맞다 아니다 를 판단하여 대부분 boolean 타입을 return한다.
str,substring(시작인덱스,마지막인덱스+1) 문자열 부분 출력가능 메소드
정적멤버와 static
정적 멤버는 객체(인스턴스)에 소속된 멤버가 아니라 클래스에 소속된 멤버이기 때문에 클래스 멤버라고도 한다.
Heap에 생성되는 것이 아니라 별개의 공간에 상주하게 된다.(정적 필드, 정적메소드)
* 필드를 선언할 때 인스턴스 필드로 선언할 것인가, 아니면 정적필드로 선언할 것인가? 판단기준
- 객체마다 가지고 있어야할 데이터라면 인스턴스 필드로 선언
- 객체마다 가지고 있을 필요가 없는 공용적 데이터라면 정적 필드로 선언하는 것이 좋다.
정적블록
singletone(싱글톤) - 단 하나의 객체
'Java' 카테고리의 다른 글
Java 개발 공부 9일차 (21.08.27) (0) | 2021.08.28 |
---|---|
Java 개발 공부 8일차 (21.08.26) (0) | 2021.08.28 |
Java 개발 공부 6일차 (21.08.24) (0) | 2021.08.28 |
Java 개발 공부 5일차 (21.08.23) (0) | 2021.08.28 |
Java 개발 공부 4일차 (21.08.20) (0) | 2021.08.22 |