새소식

Spring & Java/Java

4. Java

  • -

🦤 JAVA

  • 일반 변수 값 할당👉🏻1️⃣ 오직 정수만 담을 수 있는 변수 x 생성. 규칙상 x에 정수 아닌 값이 들어있으면 안 되기 때문.
  • 👉🏻2️⃣ x에 기존에 저장되어 있던 쓰레기값이 사라지고 20이 저장된다.
  • 초기에는 x에 쓰레기 값인 0이 들어간다.

 

  • 레퍼런스변수 값 할당👉🏻1️⃣ 오직 자동차 리모컨만 저장할 수 있는 변수 a자동차를 만든다.👉🏻2️⃣ 자동차 설계도(클래스)로 자동차 객체를 변수 외! 부! 에 만든다. 자동차 객체는 자신을 조종할 수 있는 리모컨(this)을 가지고 태어난다.👉🏻3️⃣ a자동차 변수에 안에 있는 리모컨의 달리다 버튼을 누른다. 해당 신호가 리모컨과 연결되어 있는 자동차 객체에 전달되어 달리다 기능이 실행된다.👉🏻5️⃣ 달리다 함수. 메서드 (함수).
  • 👉🏻4️⃣ 자동차 설계도!, 절대 자동차가 아니다.!!!
  • 즉 자동차 객체 만들 때 자동차 리모콘도 같이 만들어진다. 자동차 객체는 자신이 들고 있는 리모컨(this)을 복사해서 반환한다. a자동차 안에 들어있던 쓰레기 리모컨이 진짜 리모컨으로 대체된다.
  • `a자동차` 에는 자동차 클래스로 만든 리모콘(쓰레기 리모컨)이 들어가게 된다.

 

  • 상속을 통한 기능 중복 제거👉🏻 A is B 는 A extends B와 같다.
  • B안에 들어있는 메서드 A에 복제된다.
  • class A extends B {... }

 

  • 메서드 오버라이딩
  • 👉🏻즉, 상속받은 부모 클래스의 메서드를 재정의하여 사용하는 것을 의미.
  • 💡 오버 라이딩(overriding)이란 상속 관계에 있는 부모 클래스에서 이미 정의된 메서드를 자식 클래스에서 같은 시그니쳐를 갖는 메서드로 다시 정의하는 것

 

  • 다중 상속 지원하지 않는 이유
  • 💡 GrandFather에 A()라는 메서드가 있어서 FatherA와 FatherB에서 오버 라이딩해서 구현했다고 생각해보자. 이러면 Son 입장에서는 A() 메서드를 호출 했을 때 누구의 메소드를 가져다 써야 할지 정할 수 없다. 따라서 컴파일도 되지 않는다.

 

  • 클래스   👉🏻 할 수 있는 것 3가지
  • 객체 생성
  • 리모컨 생성
  • 리모콘 변수 생성
  • 메서드
    1. 객체를 만들 때
    2. ⇒ 실제로 활용할 수 있는 기능
    3. 리모컨을 만들 때
  • 중복
  • 객체지향, 디자인 패턴 등의 설계 기법들은 모두 중복 소스코드를 줄이기 위해서 존재함
  • 중복을 최대한 지양해야 깔끔한 코드로 나옴 (사실 당연한 사실)

 

Static

  • this를 쓰지 않을 경우에 사용 가능함
  • 쓸 수 있는 상황에선 최대한 쓰기
  • static을 붙이면 객체를 new 하지 않고 바로 쓸 수 있음

 

  •  

'Spring & Java > Java' 카테고리의 다른 글

1. 핵심원리 기본편  (0) 2022.08.02
3. 개념  (0) 2022.07.18
3. 스프링 웹 개발 기초  (0) 2022.07.14
2. Java (TDD, GCC)  (0) 2022.07.14
1. 객체지향 Java  (0) 2022.07.14
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.