본문 바로가기
Language & Framework & GIT/JAVA

오늘은 안 짧은 언어_05

by veganwithbacon 2022. 8. 6.
반응형

자바의 객체 지향 특성

 

- 캡슐화 

자바에서 클래스는 객체의 모양을 선언한 틀이며, 클래스 모양 그대로 생성된 실체가 객체이다.

자바는 필드와 메소드를 클래스 내에 모두 구현한다.캡슐화를 통해 객체 내 필드에 대한 외부로부터의 접근을 제한

 

- 상속

   : 상위 개체 속성이 하위 개체에 물려져 하위 개체가 상위 개체의 속성을 모두 가지는 것

 

 자바의 상속은 자식 클래스가 부모 클래스의 속성을 물려받아 부모 클래스에 기능을 확장(extends)하는 개념이다

 자바에서 슈퍼 클래스(super class)라고 부르며 자식 클래스를 서브 클래스(sub class)라고 부른다

 

- 다형성

  : 같은 이름의 메소드가 클래스 혹은 객체에 따라 다르게 구현되는 것

     >메소드 오버라이딩 : 슈퍼 클래스에 구현된 메소드를, 서브 클래스에서 자신의 특징에 맞게 동일한 이름으로 다시 구현

     >메소드 오버로딩 : 클래스 내에서 같은 이름의 메소드를 여러 개 만드는 것

 

 

객체 지향 언어의 목적

- 소프트웨어의 생산성 향상

- 실세계에 대한 쉬운 모델링

 

 

절차 지향 프로그래밍과 객체 지향 프로그래밍

절차 지향 프로그래밍 : 실행하고자 하는 절차를 정하고,순차적으로 프로그래밍 하는 방법

객체 지향 프로그래밍 : 프로그램 구현에 필요한 객체를 파악하고 각각의 객체들의 역할이 무엇인지를 정의하여 객체들 간의 상호작용을 통해 프로그램을 만드는 것

 

 

클래스와 객체

클래스 : 객체를 만들어 내기 위한 설계/틀

객체 : 클래스의 인스턴스

가끔 객체와 인스턴스는 구별 없이 사용한다


자바 클래스 구

- 자바에서 class 키워드로 클래스를 선언한다

클래스의 구성 요소를 멤버,멤버는 필드(멤버 변수)와 메소드(멤버 함수)의 두가지이다.

 

클래스 구성 

 : 클래스는 class 키워드와 클래스 이름으로 선언, 중괄호 안에 클래스의 필드와 메소드를 모두 작성

 

클래스 멤버

  : 필드와 메소드로서,필드는 객체의 상태 값을 저장할 멤버 변수이며,메소드는 실행 가능한 함수이고 객체의 행위를 구현

 

접근 지정자

 

객체 생성과 활용

  : 레퍼런스 변서 순언과 객체 생성

     1. 레퍼런스 변수 선언

           - 객체를 생성하기 전 객체를 가리킬 레퍼런스 변수의 선언이 필요

     2. new 연산자로 객체 생성

           - 자바에서는 반드시 new 연산자를 통해 객체를 생성한다

pizza = new Circle(); // Circle 객체생성

           - 객체가 생성될 때 객체의 필드나 초기화를 위해 생성자를 둘 수 있다.

             다음과 같이 레퍼런스 변수를 선언하면서 동시에 객체를 생성하기도 한다

Circle pizza = new Circle(); // 레퍼런스 변수 pizza의 선언과 동시에 객체 생성

    3. 객체 멤버 접근

          - 객체의 멤버에 접근할 때는 다음과 같이 점(.)연산자 이용

       객체레퍼런스.멤버            


 

생성자 

 : 객체가 생성될 때 초기화를 위해 실행되는 메소드

 

- 생성자의 이름은 클래스 이름과 동일하다

- 생성자를 여러 개 작성할 수 있다.

- 생성자는 객체를 생성할 때 한 번만 호출된다

- 생성자에 리턴 타입을 지정할 수 없다  ex) public Circle() { ...}

- 생성자의 목적은 객체가 생성될 때,필요한 초기 작업을 위함이다

 

 

기본 생성자(=디폴트 생성자)

    : 매개 변수가 없고 또한 실행 코드가 없어 아무일도 하지않고 단순 리턴하는 생성자

   

    - 기본 생성자가 자동으로 생성되는 경우

       : 클래스에 생성자가 하나도 선언되어 있지 않은 경우,컴파일러는 기본 생성자를 자동으로 생성한다

 

    - 기본 생성자가 자동으로 생성되지 않은 경우

       : 생성자가 하나라도 있는 경우

 

   


 

this 레퍼런스

   - this는 객체 자신에 대한 레퍼런스로서 메소드 안에서 사용된다

 

  - this( ) 로 다른 생성자 호출

 

  - this()의 호출은 생성자 코드의 첫 번째 문장이 되어야한다.  아니면 컴파일 오류 발생

반응형

'Language & Framework & GIT > JAVA' 카테고리의 다른 글

Java_Optional<T> isPresent(), ifPresent() 사용하기  (0) 2022.08.21
[JAVA] 접근 지정자  (0) 2022.08.11
오늘은 짧은 언어_06  (0) 2022.08.09
오늘의 짧은 언어_03  (0) 2022.08.03
[JAVA] 배열과 예외 처리  (0) 2022.08.03

댓글