티스토리 뷰

728x90

Java

KOSTA DAY05

Java

객체지향

객체지향이란?

  • 프로그래밍 기술의 변천
  • 기계어, 어셈블리어 사용 → 일상언어를 닮은 고급프로그래밍 언어 등장
    →구조적 프로그래밍 기법 등장 → 객체지향 프로그램밍 기법 등장
  • 상호작용하는 객체들로 이루어진 현실세계를 모방

객체

  • 상태와 행동으로 구분되어지며, 변수와 메소드로 표현될 수 있다.
  • 객체는 클래스라는 설계도에 만들어진다.
  • 클래스로 부터 만들어진 객체 = 인스턴스
  • 객체를 만드는 과정 = 인스턴스화

클래스

Java

  • 클래스의 데이터 구조는 변수로 선언한다.
  • 클래스의 기능은 메소드로 구현한다.
  • new 연산자를 사용하여 객체를 생성한다.
  • 생성된 객체는 heap영역에 생성된다.(완전히 독립된 객체)
  • 객체명.~ : 저장된 주소값을 가져온다.
  • 클래스는 객체의 모양을 갖춰야한다.
  • 클래스는 객체를 무한대로 생성할 수 있다.

객체지향 프로그래밍

특징
  • 확장성
  • 캡슐화 : 객체의 필드, 메소드를 하나로 묶고 실제 구현내용을 감춘다.(접근 지정자)
  • 상속 : 상위객체가 하위객체에 필드와 메소드를 물려준다.

접근지정자
private : 같은 클래스 내에서만 사용
default : 같은 패키지 안에서만 사용
protected : 같은 패키지 안에서만 사용가능하나, 그렇지 않아도 부모자식간에는 사용가능
public : 누구나 사용가능


필드

변수 : 생성자와 메소드 내에서만 사용, 생성자와 메소드 실행 종료 시, 자동 소멸
필드 : 생성자와 메소드 전체에 사용되며, 객체가 소멸되지 않는 한 객체와 함께 존재


생성자

라이브러리 클래스의 객체생성 방법

  • 객체가 생성되고 나서 실행해야 할 명령문을 써두는 부분
  • 클래스 안에 선언함
  • 메소드처럼 파라미터값을 넘겨줄 수 있다.
  • 객체를 효율적으로 초기화하는데 사용
  • new 연산자와 함께 자동으로 호출
  • 객체 생성의 가이드 라인(타인이 만든 생성자 사용 시)

생성자와 메소드의 차이점

  • 생성자는 반드시 자신의 클래스 이름과 동일
  • 리턴형을 사용하지 않는다.(void 조차 사용 할 수 없다.)
  • 메소드는 이름으로 호출, 생성자는 new 연산자와 함께 자동으로 호출

Overloading : 같은 이름의 메소드 또는 생성자를 파라미터값으로 구분

Scanner 사용 시, 오류 해결

  • scanner 사용 시, nextInt();를 통해 값을 받으면
    그 후, nextLine();에서 자동으론 빈 값이 입력되는것을 확인
  • 이유 : 숫자값은 nextInt가 받으나, enter값을 그 다음 nextLine에서 처리함
  • 해결 : 스캐너의 nextInt 사용 시, nextLine을 함께 사용




728x90

'Java' 카테고리의 다른 글

접근제어자, Exception  (0) 2020.10.11
객체지향, 생성자, 객체 내 배열  (0) 2020.10.11
배열, 정렬, 배열복사  (0) 2020.10.11
Method, 배열  (0) 2020.10.11
while, Do~while, for, 반복문  (0) 2020.10.11
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday