Class, Method

다람·2023년 2월 22일
0

JAVA

목록 보기
8/27
post-thumbnail

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

  • 객체 지향 프로그래밍은 모든 데이터를 객체로 취급하며 이 객체가 프로그래밍의 중심이 된다.
  • 객체 : 실생활에서 우리가 인식할 수 있는 사물
  • 객체의 상태와 행동을 구체화하는 형태의 프로그래밍이 바로 객체 지향 프로그래밍이다.
  • 이 때 객체를 만들어 내기 위한 설게도와 같은 개념을 클래스(Class)라고 한다.

클래스 (class)

  • 객체를 정의하는 틀 또는 설계도
  • 객체의 상태를 나타내는 필드(field)와 객체의 행동을 나타내는 메소드(method)로 구성

메소드 (method)

  • 어떤 특정 작업을 수행하기 위한 명령문의 집합
  • 접근제어자 반환타입 메소드이름(매개변수목록){ // 선언부
    // 구현부
    }
// 접근제어자 반환타입 메소드이름
	public 	  void    call(){	// 선언부
	// 구현부
}

1) 접근제어자 : 해당 메소드에 접근할 수 있는 범위
2) 반환타입 : 메소드가 모든 작업을 마치고 반환하는 데이터의 타입 명시
3) 매개변수 목록 : 메소드 호출 시에 전달되는 인수의 값을 저장할 변수들을 명시
4) 구현부 : 메소드의 고유 기능을 수행하는 명령문의 집합

  • 하나의 클래스에 같은 이름의 메소드를 둘 이상 정의할 수 없지만 메소드 오버로딩을 이용하면 같은 이름의 메소드를 중복하여 사용 가능
  • 메소드 오버로딩 : 매개변수의 개수나 타입을 다르게 하여 같은 이름의 또 다른 메소드를 작성하는 것이다.

클래스의 구성 요소

  • 클래스 = 멤버(member)
  • 클래스는 생성된 객체의 필드를 초기화해주는 특별한 메소드인 생성자(constructor)를 가진다.

필드(field)

  • 클래스에 포함된 변수
    1) 클래스 변수
    2) 인스턴스 변수
    3) 지역변수

생성자(constructor)

  • 객체의 생성과 동시에 인스턴스 변수를 원하는 값으로 초기화할 수 있다.

생성자 특징

  1. 반환값이 없지만 반환 타입을 void형으로 선언하지 않는다.
  2. 초기화를 위한 데이터를 인수로 전달받을 수 있다.
  3. 하나의 클래스가 여러 개의 생성자를 가질 수 있다.
    즉, 생성자도 하나의 메소드이므로 오버로딩이 가능

클래스의 선언

  • 접근제어자는 객체 지향 프로그래밍의 특징 중 하나인 정보 은닉을 위한 키워드!

인스턴스 생성

  • new 키워드를 사용
  • 클래스이름 참조변수이름 = new 클래스이름();
Phone myPhone = new Phone();
Phone friendPhone = new Phone();

메소드 (method)

메소드의 사용 목적

  • 중복을 제거하기 위함이다.
  • 모듈화로 인해 코드의 가독성이 높아진다.

메소드 호출

  1. 객체참조변수이름.메소드이름();
  2. 객체참조변수이름.메소드이름(인수1, 인수2);

생성자

생성자 호출

  1. 클래스이름(){...}
  2. 클래스이름(인수1, 인수2){...}
	Phone(String phoneColor, String phoneModel){
		this.phoneColor = phoneColor;
		this.phoneModel = phoneModel;
	}

생성자 호출

기본생성자

  • 어떠한 매개변수도 전달받지 않으며, 기본적으로 아무런 동작도 하지 않는다.
profile
안녕

0개의 댓글