728x90
반응형

<오늘의 학습>

1. 객체 지향 프로그래밍

2. 클래스

3. 메소드

4. 인스턴스

 

 

1. 객체 지향

1) 객체 지향 이란?

  • 실제 세계를 모델링하여, 소프트웨어를 개발하는 방법

 

 

2) 객체 지향 프로그래밍(OOP;Object-Oriented Programming) 이란?

  • 데이터와 절차를 하나의 덩어리(객체)로 묶어서 생각하는 방법

 

 

3) 절차 지향 프로그래밍(procedural programming) 이란?

  • 문제를 해결하는 절차를 중요하게 생각하는 방법

 

 

4) 객체 지향의 5대 특징

  1. 캡슐화: 클래스를 묶는 것
  2. 추상성: 복잡한 것을 단순화하는 것
     - 복합한 것:클래스 만드는 쪽
     - 단순화:클래스 사용자 입장
  3. 다형성:OverLoading(오버로딩, 생성자 이름 중복), OverRiding(오버라이딩, 메소드 내용 재정의)
  4. 상속성:모든 자바클래스는 상속관계로 이루어져 있다.
  5. 정보은닉:외부(다른 객체)에서 객체의 내부(데이터)를 들여다볼 수 없다.

 

 

5) 오버로딩과 오버라이딩

  1. 오버로딩 : 동일한 메소드명을 가지더라도 매개변수 자료형이나 갯수가 다르다면, 하나의 클래스 안에서 동일한 메소드명을 여러 개 사용할 수 있다. 리턴형은 조건에 포함되지 않는다.
  2. 오버라이딩 : 상속받은 메소드의 내용을 재정의하는 것이다. 오버로딩과 달리 리턴형, 메소드 이름, 매개변수는 반드시 같아야 한다

접근제한자는 상위와 같거나 더 넓은 것을 사용할 수 있다. 상위 접근제한자가 protected이면 public도 쓸 수 있다.

 

 

6) 접근 제한자

  1. public : 패키지가 다르고, 상속받지 않아도 사용 가능
  2. private : 자신의 클래스 내에서만 접근가능(사용 가능)
  3. protected : 패키지가 다르더라도 상속받으면 사용 가능
  4. 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일차 수업>

728x90
반응형

'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

+ Recent posts