카테고리 없음

20240814 3일차

happyst 2024. 8. 14. 17:40

IntelliJ 단축키
Ctrl + Alt + M: 해당 블록을 함수로 만들어줌

switch-case문: case에 변수실수는 올 수 없다 ❌



궁금증이 생겼다!
- String str = "Hello World";
- String str = new String("Hello World");
두가지 경우 모두 다 heap에 객체가 할당되는걸까?

[method overloading]
method signature (3가지):
- method 이름
- method 매개변수 개수
- method 매개변수 타입의 순서
method return 타입은 메소드 시그니처에 포함되지 않는다!❌

method overloading
: 같은 이름의 메소드를 중복해서 정의하는 것
메소드 이름은 같지만, 메소드 시그니처가 다른 메소드를 정의하는 것
메소드 오버로딩을 사용함으로써 코드의 가독성과 유연성이 향상됨
동일한 논리적 작업을 다양한 데이터 타입으로 처리할 때 유용함

궁금증이 생겼다!
void print(String str)
void print(int num)
이런 함수만 정의되어 있는데 print(char) 또는 print(double)을 호출하면 어떻게 될까?


Object Oriented Programming 특징 (4가지)
- 캡슐화
- 상속
- 추상화
- 다형성!!!



[캡슐화]
- 데이터와 데이터를 처리하는 메서드를 하나의 단위로 묶고, 외부로부터 이를 감추는 것
- 객체의 내부 구현을 숨겨서 복잡성을 줄이고 데이터의 무결성을 유지함 (외부의 잘못된 사용으로 인해 객체를 무분별하게 변경하는 것을 방지)
- 접근 제어자(public, private, protected, default)를 통해 외부로부터의 접근 정도를 제어함

[Getter/Setter]
- private으로 지정되어 은닉된 필드를 외부에서 사용하기 위한 용도
- 외부에서 사용할 수 있어야하므로 public 메소드임!

IntelliJ 단축키: Alt + Insert