0512 TIL

ㅇ.ㅇ·2022년 5월 15일

til

목록 보기
2/3

0512 TIL

클래스

  • 클래스는 설계도이다.

Object

  • 오브젝트는 객체이다.

객체지향 프로그램밍특징

추상화

  • 객체에서 공통된 속성과 행위를 추출하는 기법
  • 코드 상에서 구현(로직) 부분을 제외한 오직 선언 부분만을 설계

캡슐화

관련된 필드(속성)와 메소드(기능)를 하나로 묶고, 실제 구현 내용을 외부로부터 감추는 기법(정보은닉)
만일의 상황(타인의 외부에서 조작)을 대비해서 특정 속성이나 메소드를 사용자가 조작할 수 없도록 숨겨 놓은 것
외부에서 공개된 메소드(기능)의 인터페이스를 통해 접근할 수 있다.

상속

  이미 작성된 클래스의 특성을 그대로 이어받아 새로운 클래스를 생성하는 기법
  메소드 오버로딩 = 중복정의
  메소드 오버라이딩 = 재정의

다형성

하나의 형태를 가지고 여러가지를 표현
운다 -고양이 : 야용
운다 -강아지 : 멍멍
운다 - 사람 : 엉엉
사전적 의미 ' 다양한 형태로 나타날 수 있는 능력
같은 기능(메소드)를 호출하더라도 객체에 따라 다르게 동작하는 것
상위클래스의 동작을 하위클래스에서 다시 정의하여 사용하는 것 또한 다형성으로 볼 수 있다.

객체지향프로그램의 장점

  • 신뢰성 있는 소프트웨어를 쉽게 작성할 수 있다
  • 코드를 재사용하기 쉽다
  • 유지보수가 용이하다
  • 직관적인 코드 분석이 가능하다
  • 소프트웨어 생산성이 향상된다

클래스의 구조

public class 클래스명{
--- 객체의 속성 정의
자료형 필드명1;
자료형 필드명2;
--- --- 객체의 기능 정의
반환형 메소드1(){---}
반환형 메소드2(){---}
  • 객체라는것은 주소값을 가지고 있다
  • 0512

객체지향 프로그래밍(oop)

class(설계도)

  1. 필드(속성, 데이터, 변수)
  2. 메서드(객체의 행위, 기능)
  • ** 생성자
    Person p1 = new Person();
    Person p1 = new Person("조자연",24,"여");
  1. 리턴 타입이 존재하지 않는다(void도 x)
  2. 생성자 메소드의 이름과 클래스 명이 동일하다
  3. 메인메서드에서 객체를 생성하는 순간 자동적으로 호출
  4. 생성자는 메서드입니다.
  5. 클래스를 만들면 기본생성자 생략이 되어있다.
    새로운 생성자를 작성하면 기본생성자는 기능이 덮어씌어진다.
    (사용하고 싶다면 기본생성자도 작성해주기!!!)
    ----> 오버로딩(중복정의)

.....(숨어있는 기본생성자)

  • 오버로딩
    public Person(){
    }
    public Person(String name, int age){
    }

Object

profile
기록과 정리하는것을 계속해서 하려고 노력중이에요 😊

0개의 댓글