목록Programing Language/Java (5)
초오오오오오짜개발자의낙서장
JAVA Interface- interface 키워드를 사용하여 정의- 상수와 추상 메소드로 구성- 모든 상수는 public static final 타입- 모든 추상 메소드는 abstract public 타입- 클래스에서 인터페이스 구현은 implements 키워드를 사용하여 구현할 인터페이스 지정 후 추상 메소드를 모두 오버라이드 하여 내용을 완성.//인터페이스interface JavaInterface { String call(); boolean test();}//인터페이스 상속 구현class InterfaceImpl implements JavaInterface { @Override public String call() { return "called"; } @Overr..

JVM 은 OS 에서 할당받은 메모리 영역을 세 영역으로 구분한다.- 메소드 영역 (신규) - jvm 시작할때 생성 로딩된 클래스 바이트 코드 내용을 분석 후 저장 모든 스레드가 공유- 힙영역 heap - jvm 시작할때 생성 객체 배열 저장 사용되지 않은 객체는 GC가 제거- JVM 스택 stack - 스레드 별 생성 - 메소드 호출할 떄마다 Frame을 스택에 추가 종료하면 Frame 제거 객체 지향 프로그래밍OOP : object oriented programming부품 객체를 먼저 만들고 하나씩 조립해 완성된 프로그램을 만드는 방법하나의 클래스로 부터 여러개의 인스턴스를 만들수 있음. 클래스 구성 요소Field생성자메소드 new 연산자를 사용하여 메모리에 클래스를 객체로 ..

같은 리터럴 값을 넣으면 힙에는 하나의 데이터로 저장되기 때문에 name1 과 name2 에 들어가는 데이터의 주소는 같다.String s1 = "자바"; String s2 = new String("자바"); 이런식 s2.equals(s1); 값을 비교할땐 이렇게 사용한다. s1 == s2 는 주소값을 비교하는 것이다. charAt(index) index의 char를 리턴indexOf(args) args 로 주어진 문자열이 시작되는 인덱스 반환. args 2에 index를 넣으면 다음 위치의 args1 의 위치를 리턴해 준다.lastIndexOf() 마지막 인덱스 없으면 -1 이 출력이 된다. String 리터럴 입력시 """ """ 3개로 하면 길게 입력 가능하다.replace() / replaceAl..

클래스 블록 - class 로 둘러싸여 있다.public class Hello{ } 메소드 블록 - 메소드 기능 도구 , 함수처럼 사용public static void main(String [] args){System.out.println("hello"); } 자바를 실행하면 Launcher.class 파일이 나온다.이 파일을 실행하면 자바 프로그램이 실행javac Launcher.javajava Launcher20년 전엔 이렇게 했다. ctrl + Alt + L 코드 자동 정렬자바에서 패키지는 폴더다.프로젝트 내의 파일을 정리하기 위한 공간.회사나 개인을 구분하기 위한 아이디 역할. 자바의 객체를 json으로 바꾸는걸 많이 한다.주석 종류 // , /* */ , /** */ (문서화로 레퍼찾을때 작..

1. JDK 다운로드 및 설치 - Open JDK Java Developement Kit Oracle , (Oracle) OpenJDK 3rd-party OpenJDK ■ 자바 다운로드● Oracle JDK - https://www.oracle.com/technetwork/java/javase/downloads● Open JDK - https://github.com/ojdkbuild/ojdkbuild● Open JDK - https://jdk.java.net/archive● AZUL - https://kr.azul.com/downloads 17.0.2 설치 진행 # mac은 brew를 사용해 설치 진행 JDK = JRE + 개발도구 - 자바 프로그램 개발하고 실행하기 위해 반드시 설치 J..