본문 바로가기

🌱JAVA

(47)
JVM 구동방식 JVM 구동방식에 대해 알아보기 자바는 자바를 구동할수있는 엔진이 필요하다. 그 엔진이 바로 JVM 즉, Java Virtual Machine 이다. 이 JVM에 의해서 해당 클래스 파일을 메모리에 로딩 한다. 그리고 로딩함과 동시에 해당 운영체제 플랫폼에 맞게 다시한번 재 컴파일을 진행한다. (재 컴파일을 하는 이유는 운영체제가 모두 다르므로...) JVM은 해당 운영체제에 항상 실행되고 있고, 실행 명령어가 떨어지면 클래스 파일을 실행하는 역할을 한다. 그렇다면 왜 JVM은 독립적으로 실행되게 해놓았을까? 결론은 운영체제가 하나가 아니니, OS에 독립적으로 구동을 하여, 어느 OS에서나 실행이 가능하도록 만들어야 했기 때문에 해당 JVM을 독립적으로 구동 하게끔 해놓았다. (특정 운영체제에 종속 X,..
(Model : DTO) 잘 설계된 클래스 # Model:DTO 설계 잘하기 첫번째, 정보은닉 (Information Hiding), Private로 객체의 상태를 보호한다. 두번째, 디폴트 생성자를 명시적으로 만든다. 오버로딩 생성자를 만들어 적절하게 초기화 한다. 세번째, Private로 만들어진 멤버변수를 접근하기 위해서 setter, getter 메소드를 만든다. 네번째, 객체가 가지고 있는 값 전체를 출력하기 위한 toString() 메소드를 재정의 한다.
SpringBoot Main 메소드와 Controller 위치 - 너무 당연한 이야기지만 controller와 main 메소드는 같은 레벨에 있어야 한당. - 그리고 정적 데이터 파일 ex) index.html 파일은 항상 아래와 같이 static 폴더 하위에 있어야 함. - 그래서 아래와 같이 됨 - 끝 -
Java Document 정리 # Java Document 정리 프로그래밍은 API를 조작하여 무엇을 만드는것에 불과하다. 자바 플랫폼을 API를 이용해서 제어하는 것이라고 볼수 있다. 너무 당연한 잉야기 이지만, 패키지는 클래스의 묶음이다. API Documentation 문서 확인 java 17 docs : https://devdocs.io/openjdk~17/ 예제로 system.out.println 찾아보자 java.lang에 포함되어 있기 때문에 java.lang을 찾는다. → java.lang은 패키지 이다. System.out.println에서 System을 컨트롤+클릭 하면 해당 클래스로 이동하고, 해당 클래스가 속한 파일의 가장 상단을 보면 패키지를 확인 할 수 있다. system class를 찾는다. 그리고 out이..
while (true) 의 의미 # while (true) 의 의미 정리 예제 코드는 아래와 같다. Thread monitor5200Thread = new Thread(() -> { while (true) { try (ServerSocket serverSocket = new ServerSocket(PORT_5200)) { System.out.println("Port 5200 is connected."); serverSocket.accept(); // This will block until a connection is made } catch (IOException e) { System.out.println("Port 5200 is disconnected."); switchToPort5160(); } } }); monitor5200Thre..
JAVA 문법 정리 잘된 사이트 # JAVA 문법 정리 잘된 사이트 https://www.w3schools.com/java/java_arraylist.asp Java ArrayList W3Schools offers free online tutorials, references and exercises in all the major languages of the web. Covering popular subjects like HTML, CSS, JavaScript, Python, SQL, Java, and many, many more. www.w3schools.com - 끝 -
JAVA 명명 규칙 (클래스, 메소드, 변수 등등) # JAVA 명명 규칙 1. 클래스 이름 짓기 (인터페이스도 포함) - 클래스 명은 명사로 한다. - 클래스 명의 첫 문자는 대문자로 한다. - 파스칼 케이스를 사용한다. 여러개의 단어를 조합하여 클래스를 만들때 각 단어의 첫번째 문자는 대문자로 한다. ex) TestClass, TestClasses 2. 메소드 이름 짓기 - 메소드 명은 동사로 한다. - 메소드 명은 소문자로 시작한다. - 카멜케이스를 사용하여 이름을 짓닌다. 여러 단어를 조합하여 이름을 지을경우 첫 글자를 제외한 나머지 단어의 첫 글자를 대문자를 사용하여 명명한다. ex) getNameForSchool, getTestCasses, putLocationForBuilding 3. 변수 이름 짓기 - 변수의 이름은 짧고 의미있게 작성한다...
오버라이딩(Overriding)과 오버로딩(Overoading) # 오버라이딩(Overriding)과 오버로딩(Overoading) 간단 정리 오버라이드란 자식 클래스에서 부모 클래스의 메소드명과 동일한 메소드를 작성하여 사용하는 것이다 호출 시에는 이름이 똑같아도 자식 메소드가 호출되게 된다 오버로드는 동일한 이름의 메소드를 받는 파라미터만 바꿔서 여러번 작성하는 것이 오버로드다 위 예제에 사용된 전체 코드는 아래에서 참고해주면 된다 오버라이딩(Overriding) - 오버라이딩 같은 경우는 라이브러르 등을 재 사용시 자주 사용 public class Parent{ public void call() { System.out.println("Parent 클래스의 CALL Method"); } } 오버라이딩(Overriding) public class Child exte..