본문 바로가기

Java6

String literal과 new String 문자열 생성 시 literal과 new 두가지 방식으로 가능하다. String str = "Hello"; //literal String str2 = new String("hello"); // new 객체 선언 둘다 JVM의 heap 영역에 저장되지만 literal은 heap 중에서 String Constant Pool에 저장된다고 한다. String str = "hi"; String str2 = "hi"; System.out.println(str==str2); // String Constant Pool에 hi라는 객체가 생성되었기 때문에 str2는 새로 생성되지 않고 그 객체를 참조한다. // 그래서 주소값을 비교했을 때 true가 나온다. new 연산자를 사용하면 새로운 객체를 생성하기 때.. 2022. 6. 9.
예외처리 예외처리란(Exception, Error Handling) 코드를 완벽하게 짰다고 해서 항상 프로그램이 성공적으로 도는 것은 아닙니다. 다양한 예외 상황이 발생할 수 있다 이것에 대응하기 위해서 예외 처리 코드가 필요하다. 예외처리의 목적 예외의 발생으로 인한 실행 중인 프로그램의 비정상 종료를 막기 위해서 개발자에게 알려서 코드를 보완할 수 있도록 하게 위해서 자바에서는 상속을 이용해서 모든 예외를 표현/ 모든 예외 클래스는 Throwable의 자손 클래스 Throwable 에는 크게 두 종류의 자식 클래스가 있다. Error 는 프로그램이 종료되어야 하는 심각한 문제를 표현합니다. 대부분 컴퓨터나 JVM이 시스템적으로 동작할 수 없는 상황을 표현합니다. 더보기 ex) Java는 JVM내의 Heap이라.. 2022. 5. 30.
객체지향 프로그래밍, JVM 객체 지향 프로그래밍(Object Oriented Programming) 절차지향 프로그래밍, 함수형 프로그래밍, 반응형 프로그래밍 등 다양한 프로그래밍 패러다임이 있고 객체지향 프로그래밍은 여러 패러다임 중 하나이다. 필요한 데이터를 추상화 시키고 상태와 행위를 가진 객체를 만들고 각 객체들 간의 유기적인 상호작용을 통해 로직을 구성하는 프로그래밍 방법이다. 버스에 대해 간단하게 객체 지향 프로그래밍을 한다고 생각해 보면 각각의 버스는 공통적으로 요금, 주유량, 최대 승객 수 등등 여러가지 버스에 대한 정보(필드,멤버변수)를 갖고 있을 것이고, 탑승, 운행, 잔돈 돌려주기 주유하기 등등 여러가지 행위(메소드)를 갖고 있을 것이다. 이렇게 공통된 부분(상태, 행위)을 갖는 "버스"라는 클래스로 만들어 놓.. 2022. 5. 22.
Java 파일 기본구조 프로젝트를 생성해서 개발을 진행 시 파일의 전체적인 구조 실제로 우리가 코딩하는 부분은 클래스(.class) 파일 (실제로는 .java파일) 워크스페이스 - 프로젝트 모음, 작업공간 프로젝트 - 하나의 실행파일을 생성하기 위한 단위 패키지 - 클래스의 모음 클래스 파일 공통 명명규칙 *대소문자 구분을 함. *숫자로 시작할 수 없음. *특수문자는 '_' 와 '$'만 사용가능. *예약어(시스템에서 이미 사용하고 있는 이름. ex)Public Private 등 )를 사용하면 안됨. 워크스페이스 - 하나의 프로그램 단위. - 규모가 큰 프로그램은 여러 프로젝트로 이루어질 수 있음. - 가장 상위 폴더로 생성됨. 프로젝트 - 하나의 실행 파일을 생성하기 위한 단위 - 워크스페이스의 하위 폴더로 생성됨. 패키지 -.. 2022. 5. 17.