코드스테이츠 백엔드 9일차 회고록
배운점
1. 클래스
- 객체를 정의한 설계도 또는 틀
- 객체를 생성하는데 사용된다
- 객체의 변수와 메소드의 집합이다
클래스의 구성 요소
Public class Car { // 클래스 명
Car(){..} // 생성자
int name = “승용차” // 필드
int getPrice(){..} // 매서드
class innerClass {..} // 이너 클래스
}
- 필드 - 클래스의 속성(state)을 나타내는 변수
- 메서드 - 클래스의 기능(behavior)0을 나타내는 함수
- 생성자 - 객체를 생성하는 역할을 하는 부분
- 이너 클래스 - 클래스 내부의 클래스
2. 객체
- 실세계에 존재하거나 생각할 수 있는 것을을 객체(Object)라고한다
- 객체와 인스턴스는 비슷한 개념으로 쓰이나 객체가 더 큰 범위를 가진다
객체의 생성
Car bmw = new bmw() //Car 클래스를 통해 인스턴스를 생성 후, 참조변수에 저장
- new 생성자()를 통해 인스턴스를 참조변수에 넣어준다
- 참조 변수는 인스턴스가 저장되어있는 힙 메모리의 주소값을 가리킨다
- 인스턴스의 매서드는 클래스 영억의 매서드를 가리킨다
객체의 활용
- 객체는 포인트 연산자(.)를 통해 접근 가능하다
bmw.name, bmw.getPrice()
2. 필드(멤버 변수)
Class Example {
int instanceVariable; // 인스턴스 변수, 객체마다 고유 값을 가진다
static int classVariable; // 클래스 변수, 같은 객체면 값을 공유한다
void method() {
int localVariable = 0; // 지역 변수, 블록 안에서만 존재한다
}
}
- 클래스 변수는 객체가 생성 될 때 생성된다
- 지역 변수는 객체의 생성 없이 사용할 수 있다
- 지역 메모리는 반드시 초기값을 가져야한다
4. 매소드(Method)
제어자 | 반환 타입 | 메소드 명 | 매개 변수 타입, 이름
public int method(int exe) { // -> 메소드 시그니처
// 메소드 바디
}
- 특정 작업을 수행하는 일련의 명령문들의 집합, 기능을 담담한다
- 매소드 시그니처, 메소드 바디로 구분 할 수 있다.
- 메소드 시그니처는 접근 지정자, 반환타입, 매소드명, 매개변수로 이루어져있다
- 관례적으로 매소드명은 소문자로 선언된다
- 메소드 바디는 메소드가 호출 됐을 때 수행되는 작업을 명시한다
메소드 오버로딩(Method Overloding)
public int method(int exe) {}
public int method(int exe, int num) {}
public int method(int exe, String name) {}
- 클래스 안에 같은 이름의 메소드를 여러개 정의하는 것
- 같은 이름, 매개변수 개수와 타입은 다르게 정의되어야 한다
- 반환타입은 오버로딩 조건에 영향을 주지 못한다
느낀점
오늘은 본격적인 자바 공부를 시작했다.
오랜만에 공부하니까 너무 반갑기도 했고, 주말에 따로
책을 보면서 다시 공부해봐야겠다 생각이 들었다.
다시 공부하는거니까 이번에는 심도있게 공부해야겠다 생각했다.
진짜 처음 공부할 때는 무슨 소리인지 하나도 이해 안가서
실습만 4시간씩 하고 그랬었는데,,,, 추억이 생각난다.
열심히 공부해서 기초 탄탄히 잡고 가자!!
댓글남기기