[22.11.28] 26일차 [백엔드] Java 객체지향 프로그래밍

W·2022년 11월 28일
0

국비

목록 보기
37/119
  • 변수 : 기억장소를 정의하고 이름 부여, 값을 저장
  • 함수 : 자주 사용하는 기능을 이름으로 정의하고 호출해서 사용

객체지향 프로그래밍

클래스

객체(사물, 업무)를 주제로 정의하고 주제에 맞는 특징을 저장, 주제에 맞는 기능을 저장

  • 멤버 변수 : 클래스 안에 있는 변수로 주제에 맞는 특징을 저장
  • 멤버함수(메서드) : 클래스 안에 있는 함수로 주제에 맞는 기능을 저장

클래스 만들기

(접근제어자) class 클래스 이름 {
	멤버 변수;
    메서드;
}
  • 클래스 이름 작성 규칙
    - 대문자 시작(소문자 오류 안남, 개발자들 사이의 규칙)
    - 영문자
//폴더(패키지) test;
package test;

// public 모두 접근할 수 있는 클래스
public class Student {
	// 클래스 : 학생 객체(주제) 정의
	
	// 멤버변수(학생의 특징 저장하는 변수)
	// 학생번호, 학생이름, 국어점수, 영어점수, 수학점수
	// public 모두 접근할 수 있는 변수
	public int num; // 초기값 정의 X
	public String name;
	public int kor;
	public int eng;
	public int math;
	
	// 멤버함수(메서드=> 학생의 관련된 기능의 정의 하는 함수)
	// public 모두 접근할 수 있는 함수
	public void prn() {
		System.out.println("학생 정보 출력");
		
	}
	
}
  • 나무 클래스 만들기
public class Tree {
	// 멤버변수(나무의 특징 저장하는 변수)
	// 나무의 이름, 나무의 나이
	public String treeName;
	public int treeAge;
	
	// 멤버함수(메서드=> 나무의 관련된 기능 정의하는 함수)
	// prn2() 출력 "나무가 자란다"
	public void prn2() {
		System.out.println("나무가 자란다");
	}
}
  • 동물 클래스 만들기
public class Animal {
	// 멤버변수(동물의 특징 저장하는 변수)
	// 동물의 이름, 동물의 나이
	String animalName;
	int animalAge;
	
	// 멤버함수(메서드-> 동물 관련된 기능 정의하는 함수)
	// run() 출력 "동물이 달린다"
	public void run() {
		System.out.println("동물이 달린다");
	}
}

객체(object)

모든 대상(사물, 업무)를 파악(식별)할 수 있는 주제

객체지향 프로그래밍(OOP => Object Oriented Programming)

  • 현실 객체를 컴퓨터 프로그램으로 표현하기 위한 프로그래밍 기법
  • 객체를 중심으로 객체 간의 관계를 통해 프로그램을 구현하는 것.
  • 상속성, 추상화, 다형성, 은닉성(캡슐화) 특징

  • 객체 지향 프로그래밍 3단계
    분석 - 설계 - 구현
  1. 분석 - 객체 모델링
    객체의 구성요소(속성, 특징)와 동작(기능)을 추출하는 과정
    ex) 학생 : 학번, 이름, 학년, 사는 곳, 국어점수, 점수합계, 점수평균, ...

  2. 설계 - 클래스 정의 => 모델링을 통해서 클래스 정의
    1) 멤버변수 : 객체 구성요소(속성, 특징)
    2) 메서드(멤버함수) : 객체 동작(기능)

  3. 구현 - 객체 생성 사용
    => 객체생성 : 기억장소 할당(메모리 공간 생성)
    => 사용 : 기억장소 접근해서 멤버 변수, 메서드 호출


  • 객체생성(인스턴스화) : 기억장소 할당(메모리 공간 생성)
Student s = new Student();
// s기억장소에 저장된 Student의 기억장소의 주소값(4byte)
System.out.println(s); //test.Student@7c30a502 주소값
  • Student 안에 변수 호출 (주소를 통해서 호출)
    . 주소를 통해서 기억장소의 변수, 함수를 호출(참조연산자)
System.out.println(s.num); // 0
System.out.println(s.name); // null
System.out.println(s.kor); // 0
System.out.println(s.eng); // 0
System.out.println(s.math); // 0
  • 변수에 값 넣기
s.num=1;
s.name="홍길동";
s.kor=100;
s.eng=90;
s.math=80;
System.out.println(s.num); // 1
System.out.println(s.name); // 홍길동
System.out.println(+s.kor); // 100
System.out.println(+s.eng); // 90
System.out.println(+s.math); // 80
  • Student 안에 함수 호출
s.prn(); // 학생 정보 출력

0개의 댓글