[JAVA] 자바(Java)에도 호이스팅(Hoisting)이 적용될까? [자바 내 변수와 메서드 선언 순서, 메서드 시그니처]
·
◎ Java/Java☕
- 자바(Java)에도 호이스팅(Hoisting)이 적용될까? - 호이스팅(Hoisting)이란? 호이스팅(Hoisting)은 주로 JavaScript와 같은 일부 언어에서 변수 선언이나 함수 선언을 해당 스코프의 최상단으로 끌어올리는 동작을 말한다. 호이스팅은 변수와 함수 선언이 실제 코드의 위치보다 앞서서 실행되는 것처럼 동작하도록 하는 것이며, 주로 컴파일러나 인터프리터의 동작 방식에 의해 이루어진다. console.log(name); // undefined. 호이스팅으로 인해 에러 발생 X var name = "yermi"; - Java에서 변수 선언 순서 Java에서 변수의 선언 순서는 변수가 사용되기 전에 해당 변수가 이미 선언되어 있어야 함을 의미한다. 변수는 선언된 위치부터 해당 블록 내에..
[Project] Java Servlet 리팩토링 : 동물의 숲 커뮤니티(1) [Spring Boot 프로젝트 생성]
·
◈ Refactoring/서버 프로그램 구현🦁
[Project] 자바 프로젝트 리팩토링 : Library Service - THE END - 자바 프로젝트 리팩토링 : Library Service - THE END 자바 프로젝트로 만들어진 Library Service의 리팩토링이 끝났다. 이번 리팩토링하면서 느낀 점은, 1. Clean Code. 가독성과 효율성을 잡는 코드는 무엇인 yermi.tistory.com - Java Servlet 리팩토링 : 동물의 숲 커뮤니티(1) 두 번째 리팩토링은 Java Servlet, JSP 프로젝트이다. 이 프로젝트는 Spring을 배우기 전에 작업한 과제이다 보니 코드가 많이 레거시하다. (프로젝트를 하나하나 뜯어보며 Spring Boot로 리팩토링 할 예정) 작업하기 앞서 프로젝트를 먼저 생성하였다. Spr..
[Spring] SOLID : 객체지향 설계의 5가지 원칙(5) [DIP(Dependency Inversion Principle) : 의존 역전 원칙]
·
▣ Framework/Spring🍃
- DIP(Dependency Inversion Principle) : 의존 역전 원칙 의존 역전 원칙은 상위 수준의 모듈은 하위 수준의 모듈에 의존해서는 안 되며, 추상화된 것은 구체적인 것에 의존해서도 안 된다는 원칙이다. 이 원칙을 지키면서 코드를 작성하면, 모듈간의 결합도를 낮출 수 있다. 아래는 의존 역전 원칙이 위배된 코드이다. public class UserService { private Database database = new Database(); public void createUser(String username, String password) { // DB에 사용자 생성 database.insertUser(username, password); } public void deleteUs..
[JAVA] short 타입과 byte 타입을 연산하면 어떤 결과가 나올까? [Java 연산 처리 최소 단위와 산술 변환]
·
◎ Java/Java☕
- short 타입과 byte 타입을 연산하면 어떤 결과가 나올까? Java에서 short나 byte와 같은 작은 정수형 타입은 산술 연산을 수행할 때 int 타입으로 자동으로 형변환된다. (정수형 연산 시 발생하는 오버플로우(overflow)나 언더플로우(underflow)를 방지하기 위한 것) 예를 들어, short 타입 변수 s1과 s2를 더하면 결과는 int 타입으로 자동 형변환되며, 그 결과를 다시 short 타입 변수에 대입하려면 명시적인 형변환을 수행해야 한다. [JAVA] 산술 변환(usual arithmetic conversion) [피연산자 타입 일치를 위한 자동 형변환] 1. 산술 변환(usual arithmetic conversion) 이항 연산자는 두 피연산자의 타입이 일치해야 연..
[Spring] SOLID : 객체지향 설계의 5가지 원칙(4) [ISP(Interface Segregation Principle) : 인터페이스 분리 원칙]
·
▣ Framework/Spring🍃
- ISP(Interface Segregation Principle) : 인터페이스 분리 원칙 인터페이스 분리 원칙은 클라이언트가 사용하지 않는 메서드에 의존하지 않아야 한다는 원칙이다. 단일 책임 원칙(SRP)과 밀접한 관련이 있으며, 인터페이스를 작은 단위로 분리함으로써 단일 책임 원칙을 달성할 수 있다. 아래는 인터페이스 분리 원칙에 위배된 코드이다. public interface Machine { void print(); void scan(); void fax(); } public class AllInOneMachine implements Machine { public void print() { System.out.println("Printing..."); } public void scan() {..