<오늘의 학습>
1. 객체 지향 프로그래밍
2. 클래스
3. 메소드
4. 인스턴스
1. 객체 지향
1) 객체 지향 이란?
- 실제 세계를 모델링하여, 소프트웨어를 개발하는 방법
2) 객체 지향 프로그래밍(OOP;Object-Oriented Programming) 이란?
- 데이터와 절차를 하나의 덩어리(객체)로 묶어서 생각하는 방법
3) 절차 지향 프로그래밍(procedural programming) 이란?
- 문제를 해결하는 절차를 중요하게 생각하는 방법
4) 객체 지향의 5대 특징
- 캡슐화: 클래스를 묶는 것
- 추상성: 복잡한 것을 단순화하는 것
- 복합한 것:클래스 만드는 쪽
- 단순화:클래스 사용자 입장 - 다형성:OverLoading(오버로딩, 생성자 이름 중복), OverRiding(오버라이딩, 메소드 내용 재정의)
- 상속성:모든 자바클래스는 상속관계로 이루어져 있다.
- 정보은닉:외부(다른 객체)에서 객체의 내부(데이터)를 들여다볼 수 없다.
5) 오버로딩과 오버라이딩
- 오버로딩 : 동일한 메소드명을 가지더라도 매개변수 자료형이나 갯수가 다르다면, 하나의 클래스 안에서 동일한 메소드명을 여러 개 사용할 수 있다. 리턴형은 조건에 포함되지 않는다.
- 오버라이딩 : 상속받은 메소드의 내용을 재정의하는 것이다. 오버로딩과 달리 리턴형, 메소드 이름, 매개변수는 반드시 같아야 한다
※ 접근제한자는 상위와 같거나 더 넓은 것을 사용할 수 있다. 상위 접근제한자가 protected이면 public도 쓸 수 있다.
6) 접근 제한자
- public : 패키지가 다르고, 상속받지 않아도 사용 가능
- private : 자신의 클래스 내에서만 접근가능(사용 가능)
- protected : 패키지가 다르더라도 상속받으면 사용 가능
- default(생략):같은 패키지 내에서만 사용 가능
2. 클래스
▶ 변수에 값을 대입하는 연산자
-클래스는 레퍼런스 자료형이다.
-ex) 클래스 사용
-클래스이름 레퍼런스변수 = new 클래스이름(); // 객체생성 (heap영역의 메모리를 할당받는다.)
-클래스 이름 레퍼러스변수;//선언만 한 상태.
레퍼런스변수=new 클래스이름;// new를 이용해야 메모리를 할당받음
객체.메소드();
-new 클래스 이름();//객체 생성. 클래스 이름=생성자이름
-new 클래스이름().메소드();//객체 생성, 메소드 호출
Test01.java : 자료 설계
Test01.class : 레퍼런스 자료형
Test01 test01=new Test01(); //객체 생성
클래스 상속, 인터페이스 상속
class 파생클래스 extends 슈퍼클래스 implements 인터페이스, 인터페이스, 인터페이스{
//변수=필드
//생성자
//메소드
}
1. 클래스는 다중 상속이 불가능하다.
2. 인터페이스는 다중 상속이 가능하다.
3. 클래스 extends 클래스 //클래스가 클래스를 상속받을 때
4. 인터페이스 extends 클래스 //인터페이스가 클래스를 상속받을 때
5. 클래스 implements 인터페이스 //클래스가 인터페이스를 상속
6. 상위 클래스 변수로 하위객체 처리, 자동 형변환과 유사하다.
List list = new ArrayList();
Map mpa = new HashMap();
3. 메소드
▶ 변수에 값을 대입하는 연산자
4. 인스턴스
▶ 변수에 값을 대입하는 연산자
2023년 5월 19일 금요일
<6일차 수업>
'HRD_훈련 > JAVA' 카테고리의 다른 글
[JAVA] 추상 클래스와 인터페이스 (8일차) (0) | 2023.05.23 |
---|---|
[JAVA] 생성자와 상속 (7일차) (0) | 2023.05.22 |
[JAVA] 배열과 Random (5일차) (0) | 2023.05.19 |
[JAVA] 반복문 (4일차) (0) | 2023.05.18 |
[JAVA] 조건문 (4일차) (0) | 2023.05.17 |