[자바와 절차적/구조적 프로그래밍-01]

hamonjamon·2022년 8월 23일
0

JDK : Java Development Kit / 자바 개발 도구
JRE : Java Runtime Environment / 자바 실행 환경
JVM : Java Virtual Machine / 자바 가상 기계


프로그램이 메모리 사용 방식

  • 코드 실행 영역
  • 데이터 저장 영역

객체 지향 프로그램의 메모리 사용 방식

  • 코드 실행 영역
  • 데이터 저장 영역
    • static 영역
    • stack 영역
    • heap 영역


함수를 쓰면 좋은 이유

  • 중복 코드를 한 곳에 모아서 관리할 수 있다.
  • 논리를 함수 단위로 분리해서 이해하기 쉬운 코드를 작성할 수 있다.

멀티 프로세스 : 다수의 데이터 저장 영역, 즉 다수의 T 메모리를 갖는 구조이다.

멀티 스레드 : T 메모리 내 스택 영역을 스레드 개수만큼 분할하여 사용하는 것을 의미한다.


객체지향의 4대 특성

➜ 요리를 만들기 위한 불, 물, 칼 등의 주방 도구로 비유할 수 있다.

객체지향 설계 5원칙

➜ 주방 도구를 올바르게 사용하는 방법으로 비유할 수 있다.

디자인 패턴

➜ 요리법, 레시피로 비유할 수 있다.

객체지향의 4대 특성

  • 추상화 (모델링)
    ➜ 객체들의 공통적인 특성(기능)을 뽑아 이름을 붙이는 것
  • 다형성 (사용편의성)
    ➜ 오버라이딩(메서드 재정의), 오버로딩(메서드 중복 정의)을 통해 다형성을 제공하고 이는 개발자에게 사용 편의성을 제공한다.
  • 캡슐화 (은닉화)
    ➜ 특정 객체가 독립적으로 역할을 수행하기 위해 필요한 기능을 묶은 것으로 정보에 대한 접근에 제한을 두는 것을 의미한다.
  • 상속 (재사용성, 확장)
    ➜ 상위 개념을 하위 개념이 물려받음을 의미한다.

상위 클래스와 인터페이스

➜ 상위 클래스는 물려줄 특성이 많을수록 이상적이다. (because of LSP)
➜ 인터페이스는 구현을 강제할 메서드가 적을수록 이상적이다. (because of ISP)

다중 상속

➜ 자바는 부모 클래스를 하나 이상 가질 수 없다. 허나 인터페이스는 추상클래스보다 더욱 추상적이기에 여러 인터페이스 상속을 받을 수 있기는 하다.

추상 클래스

사용하는 이유 1 : 객체 타입 강제를 위해 ➜ 단적인 예로 누가 실수로 "동물" 객체를 만들면 안되기 때문이다.
사용하는 이유 2 : 메서드 내용 구현 자율화를 위해➜ 행위를 어떻게 구현할까(구체화)에 대한 자율성 부여

final 키워드 출몰 지역

  1. 클래스 -> 상속 금지
  2. 변수 -> 데이터 변경 불가 (상수)
  3. 메서드 -> 오버라이딩 금지

객체지향 설계 5원칙


0개의 댓글