본문 바로가기

비교6

[Java] 오버로딩(overloading)과 오버라이딩(overriding) 차이점 이번에는 오버로딩(overloading)과 오버라이딩(overriding)에 대해 알아보겠습니다. 이 두 개념은 동일한 메서드명을 기반으로 동작한다는 공통점 때문에 많이 헷갈리는 개념인데요! 1. 오버로딩은 같은 이름의 메서드이지만 매개변수 부분을 다르게 정의하는 것입니다. 2. 오버라이딩은 상위 클래스의 메서드를 하위 클래스에서 재정의하는 것입니다. 오버로딩 예시 코드를 살펴볼까요❓ 이렇게 같은 이름의 메서드이지만 매개변수의 개수나 종류를 다르게 정의가 가능합니다. 생성자도 마찬가지입니다. 오버로딩을 사용하는 이유는 무엇일까요? 만약 오버로딩이 허용되지 않는다면 위의 코드에서 메서드명이 add 하나로 처리될 수 없고, addNumTwo, addNumThree, addStringTwo 이런식으로 메서드명.. 2020. 5. 3.
[Java] 접근 제어자 정리(private, default, protected, public) 오늘은 자바의 접근 제어자(Access Modifier)를 정리해보도록 하겠습니다. 접근 제어자는 클래스, 변수, 메서드 앞에 붙으면서 이에 대한 접근을 제어해주는 예약어입니다. 자바의 접근 제어자는 4가지가 있습니다. private 같은 클래스 내에서 사용 가능 default 같은 패키지 내에서 사용 가능 protected 같은 패키지 내에서 사용 가능, 상속 관계일때 다른 패키지에서 사용 가능 public 같은 프로젝트 내에서 사용 가능 아래와 같은 패키지 구조가 있을때, 위의 표를 적용해볼까요❓ 1. A에서 private 변수를 만들면 A에서 사용이 가능합니다. 2. A에서 default 변수를 만들면 A, B에서 사용이 가능합니다. 3. A에서 protected 변수를 만들면 A, B, C에서 사.. 2020. 5. 3.
[Java] equals()과 == 차이점, String Constant Pool(상수 풀) 자바에서 String의 값을 비교할때 equals()를 쓰시나요 ==을 쓰시나요? 보통 산술연산자에서 값을 비교할때는 ==을 하는데요 인텔리제이에서 String의 값을 비교할때 ==을 쓰면 아래와 같은 메세지를 확인할 수 있어요 option+enter를 눌러주면 ==을 equals()로 바꾸라고 조언을 해줍니다. ==와 equals()는 어떤 차이가 있는걸까요? ==은 비교를 위한 연산자, equals()는 비교를 위한 메소드로 둘다 비교를 하는 목적은 맞습니다. ⭕️ 하지만 비교를 하는 내용 ❗️알맹이❗️가 다릅니다. ❌ ==은 주소 값을 비교합니다. equals는 주소 안에 들어있는 값을 비교합니다. 그렇다면,,, new String("Java")와 new String("Java")는 같을까요? 🤔 .. 2020. 4. 29.
HTTP Method - PUT, PATCH 차이점  PUT과 PATCH 차이점 PUT 자원 전체 변경 자원 내 모든 필드 영역 필요 일부만 전달할 경우, 그 외의 모든 필드 null / 초기값 처리 PATCH 자원 부분 변경 자원 내 일부 필드 영역 필요 원본 데이터 { "name": "김철수", "age": 18 } PUT PUT PATCH 요청 body PUT { "age":20 } PUT { "name":"김철수", "age":20 } PATCH { "age":20 } 결과 { "name":null, "age":20 } { "name":"김철수", "age":20 } { "name":"김철수", "age":20 } 2019. 10. 22.