일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- SQL
- 자바실행방법
- 클래스배열
- 중첩for문
- 누승재귀
- 자바수우미양가
- 오버로딩
- 자바형식
- 팩토리얼재귀
- 자바상수
- 자바제어문
- 자바연산자
- 자바자료형
- 프로그래머스
- 변수의 초기화
- 변수명명규칙
- 자바기타제어자
- 겟셋함수
- 자바if문
- 자바접근지정자
- 연산자우선순위
- 자바함수
- 자바switch문
- 효율적인연산
- 자바별찍기
- 오라클
- read()함수
- 반복문라벨
- 자바클래스
- 기타제어자
- Today
- Total
h-i-s-t-o-r-y
[Java] 객체 지향 프로그래밍 - 클래스(Class) / 객체(Object) / 인스턴스(Instance) 본문
1. 객체 지향적 프로그래밍 기법
(Object Oriented Programming == OOP)
객체 단위로 프로그래밍 하는 기법.
유지보수와 확장에 용이하다.
2. 자바는 객체 지향적 프로그래밍 언어이다.
자바의 시작객체(개체)는 main() 함수를 가지고 있는 객체이다.
[객체]는 속성 + 기능을 가지고 있고, 객체를 만들기 위해서는 [클래스]가 필요하다.
3. 클래스와 객체의 의미(차이점) ***
- 클래스 : 객체를 만들기 위한 설계도
- 객체 : 클래스로 생성된 것
4. 클래스 선언 형식
modifiers
access
[접근지정자] [기타제어자] class 클래스명 [extends Super클래스] [implements 인터페이스...]{
// 구성 요소
}
5. OOP의 특징 == 클래스의 특징
- 상속성
- 추상화
- 캡슐화
- 다형성 (인터페이스) ***
- 은닉화
6. [클래스 설계]하는 과정(단계)
ㄱ. 요구분석
ㄴ. 특징(속성), 기능(함수==메서드) 목록 작성
ㄷ. 클래스 선언(설계
ㄹ. 객체 테스트
ㅁ. 문제점 - 유지보수
ㅂ. 유지보수 안정화 되면 -> 상용화
ㅅ. 버전 관리 + 기능, 문제점 처리
7. 클래스의 구성요소(멤버)
ㄱ. 속성(특징)을 나타내는 변수 - 멤버변수 == 필드(field)
ㄴ. 기능(일)을 구현하는 함수 - 멤버함수 == 메서드(method)
8. 클래스 앞에 붙이는 접근지정자(access modifiers)의 종류 / 특징 설명
ㄱ. public : 다른 패키지에서도 이 클래스를 사용( 참조, 상속 ) 가능
*** 한 .java파일에 public class 는 하나만 존재 ***
ㄴ. default( X ) : 같은 패키지 내에서만 이 클래스를 사용( 참조, 상속 )
[ 중첩 클래스 선언 시에만 사용할 수 있다. ]
ㄷ. protected ( 비활성 ) : 같은 패키지 내에서 상속, 참조 가능
** 다른 패키지에서 상속만 가능
ㄹ. private( 비활성 ) : 같은 파일 내에서 상속, 참조 가능
9. 클래스 앞에 붙이는 기타제어자의 종류
(중복 가능 -> final static / abstract static 같이 써도 상관없음)
ㄱ. abstract : 추상 클래스 선언
ㄴ. final : 최종 클래스 선언(상속)
-> final double PI = 3.141592; //이 상수 final이랑 의미 완전다름
[ 중첩클래스 ]
ㄷ. static( 비활성 ) : 스태틱(정적) 클래스 선언
10. 인스턴스(instance)와 인스턴스화
클래스 : 객체의 설계도
객체 : 자료형이 클래스 타입으로 선언된 참조변수
인스턴스 : new 연산자에 의해 Heap 영역에 생성된 객체
인스턴스화 : new 연산자를 이용해 객체를 생성하는 과정
> 객체를 생성하는 과정
클래스명 객체명 = new 클래스명();
'Java' 카테고리의 다른 글
[Java] 접근지정자 - private / getter, setter (0) | 2021.07.17 |
---|---|
[Java] 객체 생성 예제 (0) | 2021.07.16 |
[Java] 입력한 정수 n의 근사치인 배열 요소 찾기 (0) | 2021.07.16 |
[Java] 자바 등차수열, 피보나치 수열 (0) | 2021.07.16 |
[Java] 마방진(Magic Square) (0) | 2021.07.16 |