객체를 공부하는 중인데, 이게 무슨소리인지 모르겠어서 다시 돌아가서 공부하고 다시 돌아가서 공부하고 있어
원점이 되는 것 같디. 봐도 봐도 처음 보는 내용 같다
그래도 똑같은 내용을 계속 듣다보니 조금씩은 감이 잡히는 것 같지만 뒤돌면 까먹는 놀라운 능력을 발휘함
진도가 안나가고 집중도 안되서 미치겠지만 그래도 해야지 뭐 어쩌겠어˙˙˙
요즘 내 마인드예˙˙˙ 영제이님 해야죠예˙˙˙ 그런데도 해야죠 ˙˙˙ 포기할 수 없으니˙˙˙
주변 개발자에게 물어보니, 객체를 이해하려면 1년정도 걸리고 빠르게 이해하면 6개월이라는데 한번에 이해할거라는 욕심 그만 부리고 다시 차근차근 공부를 해자!
1. 클래스 만들기
(접근제어자) class 클래스 이름 {
멤버변수(프로퍼티) ;
메서드;
}
- 접근제어자는 거의 public이라고 작성할 것이다.
- 클래스 이름은 영문이며 대문자로 시작해야하며, java 파일에 하나의 클래스를 두는게 원칙이다.
- 여러개 클래스가 같이 있을 경우 public 클래스는 단 하나이며 public 클래스와 자바 파일 이름은 동일해야한다.
클래스를 만들었다. 그럼 작동을 할 수 있을까? 못한다.
시작점이 없고 그저 속성만 메서드만 만들었기에 콘솔에 아무것도 찍히지 않는다.
콘솔에 찍히기 위해서는 main 메소드를 만들어야하며, 형식은 항상 똑같다.
같은곳에 바로 만들어도 되지만, 다른 클래스에서 main를 넣어 만들 수 있다.
메서드를 만들기 전에 함수를 먼저 공부해보자.
1) 함수를 먼저 만들어보자.
① 함수이름
② 매개변수
③ retrun
④ 함수반환형 : 반환 값의자료형을 나타서 int로 씀
반환 값이 없는 경우 void라고 씀.
∴ main () 함수가 addNum()를 호출되며 아래와 같이 변수가 있다
addNum() > n1 ,n2 , result
main () > num 1 , num 2 ,sum
num1 > n1로 num 2 > n2로 result 값이 sum으로 반환이 되는 것이다.
- 함수를 쓰는 이유는 효율적으로 쓰기 위해서 이다, (num1 > n1로 num 2 > n2로 result 값이 sum으로 반환)
2. 메서드 만들기
- 클래스의 기능을 주는 것이 메서드이며 함수의 일종이다.
- 클래스 안에 멤버변수들로 이용해서 구현된 함수들은 메서드이다.
- 메서드의 이름은 사용하는 코드의 입장에서 작성하면 된다.
메서드를 만들때 메서드 이름을 만드는 방법은 클래스를 사용하는 쪽 입장에서 이름을 쓴다.
총 2가지의 종류로 메서드를 만들었다.
1번째
public String getStduentName() {
return stduentName;
}
메서드에 이름은 멤버변수(속성)이 메서드(행동)을 가져가니 get이라고 쓰고, 반환형이고 매개변수도 없다.
return을 이유는 반환형이라고 했는데 반환하는 값을 넣어줘어야하니 사용했다.
내 클래스에 학생이름을 반환해주겠다.
2번째
public void setStduentName(String name) {
stduentName = name;
}
stduent이름을 바꾸고 싶다면 외부에서 바꿨기에 메서드 이름은 set이라서 쓰고 이름을 바꾸니,
매개변수로 이름이 들어와야하며 stduentName을 name으로 바꿨기에 작성해주면 ㅗ딘다.
반환형이 있고 매개변수가 있다.
2. 객체(인스턴스) 를 만들자
클래스를 실제 객체로 생성하기 위해서는 new 연산자와 생성자 함수를 필요로 합니다.
클래스 변수이름 = new 생성자;
객체를 만들기 위해 new 연산자를 이용해 인스턴스를 생성한다. 이렇게 되면 전체 화면에는 이렇게 보인다.
Student라는 클래스 안에 매개변수(속성) 를 생성하고 속성에 대한 행동을 정의한다. 그다음 콘솔에 호출을 하기 위해
main함수를 이용하여 객체를 만들어, 매개변수 실제 속성을 넣어준다. 이렇게 하면 콘솔에 오른쪽과 같이 노출된다.
저번시간에 객체 공부한 것 중에,
바리스타를 예를들어 설명했는데, 바리스타라는 객체는 속성을 가지고 있고, 어떠한 행동을 한다.
바리스타가 어떤 속성과 어떤 행동을 하는지는 클래스에서 정보를 가져와 콘솔에 찍으면 된다.
드디어, 객체 기본구조를 대˙˙˙충˙˙˙이해했다˙˙˙
진짜 혹시 이 글을 본 사람들이 있다면 제가 조금이라도 틀린 내용이 있다면 말해주세요˙˙˙
정말 기초적인 걸 이해한 것 같으니 다음 공부로 넘어가야겠다 ! 🥰
개발하는사람들이 개발이 재미있다는 이유가 이런건가˙˙˙ 드디어 대충은 이해한 것 같아서 너무 신난다아
'ON > 국비 전 독학' 카테고리의 다른 글
[복습] 1. 객체지향을 다시 공부해보자. (0) | 2023.03.27 |
---|---|
11. 클래스 맴버란 ? (0) | 2023.03.26 |
10. 클래스와 인스턴스 그리고 객체란? (0) | 2023.03.25 |
09.객체 지향 프로그래밍이란 ? (0) | 2023.03.24 |
[복습] 반복문으로 구구단을 만들자 (0) | 2023.03.21 |