자바 10일차

선장원·2021년 10월 15일

자바

목록 보기
11/24

10일차 (10/15)

어제는 별로 없었는데 오늘은 엄청 많네

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

  1. 하나의 클래스에 모든 코드를 작성하는 절차지향 프로그래밍 단점 극복
  2. 기능들을 모두 분리해서 호출하여 쓰자
  3. 객체 클래스라는 것은 모든 데이터를 표현할 수 있다.
  4. main() 메서드에서 다른 클래스를 객체로 만들어 호출하여 사용

객체로 만든 클래스

  1. 필드(속성)
  • 저장할 데이터를 담을 수 있는 공간
  1. 생성자 (constructor)
  • 객체를 만들 때 규칙
  • 생성자의 이름은 클래스 이름에 소괄호를 붙인 형태
    a. 생성자 오버로딩(Overloading)
    b. 기본 생성자는 별도로 선언하지 않아고 사용이 가능하지만 다른형태의 생성자를 선언을 하려면 기본 생성자를 먼저 선언을 해줘야 한다.
  1. 메서드 (method)
  • 특정 기능을 수행하는 블록

    필드는 파란색 변수는 노란색

절차지향 프로그래밍이란?

기존의 개발은 하나의 클래스에 모든 코드를 적는 방식
중복 코드, 같은기능 등으로 오류가 날 수도 있다

객체 선언

생성자

변수 내용


예를 들어 이런 내용이다 라는 설명


실제로는 변수 안에는 데이터 주소가 들어있고 데이터는 클래스에 들어있다
변수에 데이터주소가 있는 것을 Stack영역이라고하고
클래스에 변수 내용이 들어가는 것을 Heap영역이라고 한다

기본 생성자 생성


People 클래스에
People() {
System.out.println():
}
을 넣어두면 클래스 객체선언을 할 때 사용 된다.?

여러 개의 생성자를 선언 할 수 있지만 다른 생성자를 선언하기 이전에 기본 생성자를 먼저 선을 해줘야한다.
위치는 상관 없네

People 클래스는 수동적이라
main 메서드에서 객체를 호출 해줘야지 사용을 할 수 있다.
main 메서드는 단 하나만 있어야 한다.

매개변수가 있는 생성자 선언

매개 값의 활용

System.out.println(p3.age); // 11
System.out.println(p3.name); // 이름3
System.out.println(p3.nation); // 스위스
매개 값 자리에 같은타입의 변수를 넣어도 활용 가능

생성자 오버로딩(Overloading)

생성자는 매개변수 타입, 개수 등을 다르게 하여 여러 개 선언이 가능함

매개 변수는 다양하게 활용이 가능하다.
안에 프린트 메서드를 넣어도 가능

매개 변수

this. : 현재 클래스의 필드를 가리킬 때 사용

this.가 없다면

매개 변수의 타입의 위치, 숫자가 같으면 생성이 안된다

클래스 만들기 예제

생성자
1. 이름 학번 학과 나이를 매개 변수로 하는 생성자
2. 이름 학번을 매개변수로 하는 생성자
3. 학번 학과 나이 매개변수로 하는 생성자

StudentMain클래스
1. 기본생성자를 활용한 stu1 객체
2. 이름 학번 학과 나이를 매개값으로 갖는 생성자를 활용한 stu2 객체
3. 이름 학번을 매개값으로 갖는 생성자를 활용한 stu3 객체
4. 학번 학과 나이를 매개 값으로 갖는 생성자를 활용한 stu4객체

메서드

메서드 선언 문법
[리턴타입] 매서드 이름() {
메서드 실행내용
}

리턴 타입
1. 리턴이 없다 : void
2. 리턴이 있다 : 리턴하고자 하는 데이터 타입
- 데이터의 타입은 기본형, 참조형 모두 올 수 있음

리턴 O

리턴 O

리턴 데이터 타입 메서드이름() {
실행내용;
return 리턴데이터; (필수)
}


이게 클래스에서


이제 메인 메서드 클래스에서

리턴 X

리턴 X

리턴X
void 메서드이름() {
실행내용;
}


클래스에서


메인 메서드 클래스에서

그래도 오늘 배운 것들을 어떤식을 써야하는지 대충 감은 와서 다행이다.

그리고 게시글 메인사진을 골라야하는데 뭐로하지.......

profile
코딩도전기

0개의 댓글