목록개발 언어/JAVA (20)
Cohe
Garbage Collecting 객체 생성에 사용하는 new 키워드는 존재하지만 생성된 메모리에서 해제하는 키워드는 존재하지 않습니다 없는 이유는 자바에서 JVM이 알아서 메모리를 관리하기 때문이다. 객체가 더 이상 프로그램에서 사용되지 않으면 가비지 컬렉터가 스스로 판단하여 메모리를 해제하여 수거 Usage Modifier Usage Modifier는 Access Modifier를 제외한 모든 Modifier를 의미함. 여기 Usage Modifier(사용 제한자) 중 static, final, abstract를 볼 예정 이외에 transient, synchronized, volatile, native 등이 있음. static의 의미... 일반적으로 각 인스턴스들은 서로 독립적으로 객체 내에서 변수값..
상속 상속은 기존의 클래스를 확장하여 새로운 클래스를 이끌어 내는 것을 의미 기존의 코드를 재사용함 → 필요 코드 제작성을 줄여줌 자바에서는 단일 상속만 가능 상속은 하나의 부모 클래스만 가질 수 있음 → 단 인터페이스는 다중상속이 가능! extends 부모 클래스(super)의 멤버(변수와 메소드)를 자식 클래스(sub)에서 사용이 가능함 생성자는 상속이 안된다. sub class is-a Super class has a 관계 : 객체가 멤버를 가지고 있다 일 경우 NameCart has a name class NameCart{ String name; int size; } 상속에서 알아야 할 점~ 최상위 클래스는 Object 클래스이다 final 클래스는 상속 불가 abstract 클래스는 추상클래스이..
클래스 인스턴스 객제 생성 객체 생성 명령어 ClassName instanceName = new Constructor(); 생성자는 클래스 이름과 같음 생성자의 역할은 맴버변수(속성) 초기화 혹은 클래스 구동을 위한 사전동작을 구현 package obj; public class Pen { //클래스 안에 코드 //attribute (속성, 멤버변수), constructors (생성자), method //attribute (속성, 멤버변수) public String color;//패키지 관계 없이 불러 올 수 있음 int price; //default 같은 패키지 내에서 불러올 수 있음 //메서드 public void write(){ System.out.println("hello world"); } pub..
프로젝트 명세서 요구사항 정의: 고객의 정보: 이름, 성별, 이메일, 출생년도 고객 정보는 입력을 받아서 배열(정적 저장공간)에 저장합니다. 고객 정보 저장 형식 이름: 문자열로 저장 성별: 문자로 남자는 'M', 여자는 'F'로 저장 이메일: 문자열로 저장 출생년도: 정수로 저장 고객 관리 프로그램 기능: 고객 정보를 저장 : insertCustomerData() 고객 정보를 조회 : printCustomerData(int index) 고객 정보를 수정 : updateCustomerData(int index) 고객 정보를 삭제 : deleteCustomerData(int index) 인터페이스 설정(메뉴): "(1)"을 입력하여 고객 정보를 입력 받음. "P(p)(이전)/N(n)(다음)"을 사용하여 저..
class 클래스 객체를 프로그래밍 언어로 표현한 것 객체의 설계도 클래스를 통해 만드는 하나의 실제 객체를 인스턴스라고 부른다 클래스의 메서드는 객체의 행동 클래스의 변수는 객체의 현재 상태를 나타낸다. 클래스는 참조형 변수 타입 클래스 규칙들 public class는 파일 이름과 같아야 한다. public class는 한 파일에 한개만 존재할 수 있다. 같은 패키지 내에서는 같은 이름의 클래스는 사용할 수 없다. 다른 패키지에서 import할 때는 public class만 접근 할 수 있다 public class는 파일의 이름이기 때문에 그 소스 파일 전체의 주제를 알 수 있는 이름으로 짓는 것이 좋다. 클래스의 이름은 대문자로 시작하는 것이 좋다. 메서드 클래스의 행동 및 기능을 나타낸다. 다른 언..
B05_continue 반복문 내부에서만 사용이 가능하다 반목문에서 continue를 사용한다면 아래 내용을 실행하지 않고 다음 반복 회차로 이동한다.-> 조건식으로 이동 B06_while for문 보다 좀 더 자유도가 높은 반복 for 문과 달리 while은 조건이 참인지 여부만 확인 형식 while(condition){ 조건이 참일 때 실행할 명령문들} do-while 구문 : 거의 안씀 반복할 때 무조건 한 번 이상 실행해야 하는 경우 B07_labledLoopExample 루프 앞에 이름을 지정 후 : 을 사용 package week01; public class B07_labledLoopExample { public static void main(String[] args) { outer: for(..
B02_IfExample1 단순 if 구문 if (조건문) 명령문 or {다중 실행문} if문은 조건식이 true인 경우에 실행문을 동작시킨다. B02_IfExample2 난수 생성 : 임의 값 Math.random() : 클래스 메소드다. 0~1미만의 임의의 값 출력 double에만 국한 됨 Random import : import를 사용하여 라이브러리에 있는 Random 클래스를 로드, Random은 각 타입별로 난수를 발생시키는 메서드가 존재 double에만 국한되지 않음 난수를 생성하기 위해서 seed를 지정할 수 있음. Seed값이 동일하면 동일 값 발생 Random 클래스 메서드 nextFloat() 0.0≤~
A06_operator 산술연산자 +,-,*,/, % mod(%) 연산으로 승수, 지정한 특정 값이 나오게 가능, 난수 생성 가능 Math.pow(a,b) : 제곱 → 클래스 메소드이다~ 비교연산자 b ? “A가 큽니다.” : “b가 큽니다.”; 단항 연산자 ++(전치, 후치 모두 가능), — ! : boolean 타입에서만 사용 비트 연산 ~ : 비트 반전 signed bit에 따라서 양수, 음수가 달라진다 (0이면 양수, 1이면 음수) ^ : 비트연산자 &,|,>>(right shift),
변수 데이터를 담아서 보관할 수 있는 공간, java에서 변수는 반드시 선언한 뒤에 사용해야 합니다. 변수, 메서드, 클래스 이름을 식별 대소문자 구분, 길이 제한 x 문자와 숫자 _, 달러기호 포함 가능 문자는 영문자만 가리키는 것은 아니나 영문자 사용을 추천 문자, 밑줄, 달러기호로 시작할 수 있음 _,$는 로컬 시스템에서 규칙이 있는 경우가 있기 때문에 부득이한 경우 아니면 사용하지 않음 이름 규칙 범용적인 컨벤션 규칙 클래스 이름/인터페이스 이름 명사나 형용사를 서술적으로 연결해서 사용. 첫글자는 대문자로 시작 (클래스는 무조건 대문자로 시작) 연결된 단어의 첫글자는 대문자로 표기 $는 내부 클래스에서 특별한 의미를 가지고 있기 때문에 사용을 권장하지 않음 변수이름 명사적 의미를 갖게 만들어준다...
이클립스 설정 new prj create : file ->new -> java prj -> 프로젝트 이름 입력 new class file create: src(소스 폴더)-> 우클릭 -> new -> class -> 클래스 이름 지정 이클립스 단축키 ctrl + y : 되돌리기 ctrl + / : 블록 주석처리(한 번 더는 주석 해제) ctrl + M : 화면 넓게 쓰기 붉은 줄 + F2 : 에러 정보 및 해결책 제공 자바의 특징 OOP : Object Oriented Programming : 객체지향 프로그래밍 수 많은 객체들이 서로 상호작용으로 프로그래밍을 한다. 플랫폼 독립적(아키텍쳐 중립적) JVM만 다름 → 자바 사용하는 가장 큰 이유 멀티 스레드(Multi-thread) 지원 → 여러개의 쓰레..