Date - 22.11.22Stack - JavaSummary 하나의 소스파일에 둘 이상의 public class가 존재하면 안된다. (별도로 나누어 저장하던가, 둘 중 하나의 class에 public을 붙이지 않아야한다.) cannot find symbol, cann
변수 단 하나의 값을 저장할 수 있는 메모리 공간 선언과 초기화 int age; int > 변수타입 == 저장될 값의 타입을 지정(정수형, 실수형, 문자형 등) age > 변수이름 == 변수에 붙인 이름, 같은 이름의 변수가 여러개 존재해서는 안된다. 이렇게 변수
상수는 값을 저장할 수 있는 <공간>이다. 단, 변수와 달리 한 번 값을 저장하면 변경이 불가하다.final int MAX_SPEED = 10; // 상수 MAX_SPEED를 선언&초기화 \- 위와 같이 변수 타입 앞에 final을 붙여준다.상수는 선언과 동시에
printf()printf() 는 지시자(specifier)를 통해 변수의 값을 여러가지 형식으로 변환하여 출력하는 기능을 가지고 있다.지시자는 값을 어떻게 출력할 것인지 지정해주는 역할을 한다.정수형 변수에 저장된 값 →10진 정수 → 지시자 '%d'를 사용출력값이
printf("형식문자열", 값1, 값2, . . .)%argument_index$ width conversion% → 형식문자열의 시작을 의미argument_index$ → 값의 순번flags → -,0width → 전체 자리수.precision → 소수 자리수con
12.1(목)에 완성해보자
같은 타입의 값만 관리한다.선언된 배열의 길이는 늘리거나 줄일 수 없다.for문 잘쓰는게 더 중요한듯 하다.
JVM
인스턴스란 인스턴스는 어떤 원본(클래스)으로부터 생성된 '복제본' 하나하나를 지칭한다. 어떤 클래스로부터 만들어것인지를 강조하는 구체적 의미이기도 하다. 클래스는 '설계도', 인스턴스는 '제품'으로 비유할 수 있다. 클래스로부터 객체를 만드는 과정 → "클래스의 인스턴스화" 어떤 클래스로부터 만들어진 객체 → 해...
클래스, 변수, 메서드의 선언부에 함께 사용되어 해당 클래스, 변수, 메서드에 부가적인 의미를 부여한다.제한자는 접근제한자와 그 외 제한자로 나눌 수 있다.1) static2) final3) abstract4) native5) transient6) synchronize
이해를 돕기위해.. 미리캔버스에서 1분만에 만들었다.필드는 전역변수를 지칭한다.필드변수는 필드변수변수 라는 말이된다.. 필드 == 전역변수 == 멤버변수지역변수들은 생성자 또는 메서드 내부블록"{}"에서 정의되지만전역변수는 클래스의 내부이면서 생성자와 메서드 밖에서 정
자바의 정석의 내용을 정리하였습니다.생성자는 인스턴스가 생성될 때 호출되는 '인스턴스 초기화 메서드'이다.생성자의 이름은 클래스의 이름과 같아야한다.생성자는 리턴값이 없다.연산자 new에 의해서 메모리(heap)영역에 Card클래스의 인스턴스가 생성된다.생성자 Card
처음 만들어본 자바 프로젝트입니다.언뜻 보기에도 보완사항이 많습니다.이것저것 기능도 추가해보면서 객체지향적으로 리팩토링해나갈 예정입니다.항공사에서 티켓을 구매하는 프로그램을 만드려합니다.어제 배워서 복습할 겸 만들어 보았습니다.기능 구현과 리팩토링 되는대로 업데이트할
super.변수명or 메서드명은 상속받은 부모의 변수 또는 메서드로 접근
의미상으로는 "과적하다"라는 뜻이다. 하나의 클래스 내에는 두 개 이상의 같은 메서드가 매개변수만 달리하여 존재할 수 있는데, 이를 오버로딩이라 지칭한다. 위 코드와 같이 같은 이름의 메서드를 과적할 수 있다.
static이란? 변수나 메서드를 선언할 때, 스태틱 제어자를 통해 클래스단위의 변수, 메서드로서 선언할 수 있다. > "클래스 단위"에서 선언된다는 의미는 인스턴스를 생성하지 않고도 사용가능함을 말한다. 생성된 인스턴스마다 다른 값을 가질 수 있다는 것은 좋은
상속 상속이란? 상속이란 기존의 클래스를 재사용하여 새로운 클래스를 작성하는 것이다. 적은양의 코드, 공통적으로 관리가 가능하며 코드의 중복을 제거하고 재사용성을 높인다. 상속의 구현방법 class Child extends Parent{// . . . } 상속받고자
전기 콘센트와 플러그의 국제표준 존재하듯이프로그래밍에서도 규격의 세계가 있다.인터페이스는 클래스의 형태를 규정하는 약속이다.형태를 규정하기 때문에추상적이다.인터페이스의 이름은 대문자로 시작하고, 형용사를 쓴다.메서드를 정의할 때는 내용이 들어가지 않는다.변수를 정의할
static 타입의 메인메서드가 내부 클래스의 값을 참조하지 못하였을 때 발생함.참조해야할 클래스에 static을 붙여주면 해결가능
다형성이란? 하나의 클래스가 여러가지의 얼굴을 갖게 하는것. 하나의 객체가 여러가지 타입을 가질 수 있는 것을 의미한다. 다형성은 로 하위 클래스의 객체들을 참조할 수 있게 해준다.
개념은 다형성 파트를 참고하자. 업캐스팅 상속관계를 가지는 클래스를 정의한다. 업캐스팅 하는 이유 동일성을 가진 부분을 만들어 간단히 다루기 위함이다. 상속관계에서 받은 sub클래스가 백개, 천개라도 하나의 인스턴스로 묶어서 관리가 가능하기 때문이다. 주의할 점
instanceof 연산자는 객체가 어떤 클래스(타입)인지 어떤 클래스를 상속받았는지 확인 시 사용하는 연산자이다.object가 type이거나 type을 상속받는 클래스일 때, true그렇지 않으면 false를 반환한다.
미완성된 클래스를 말한다.상속받는 자식클래스에게 완성을 맡긴다고 생각하자.크기가 다른 TV를 만든다고 가정하면,각 TV마다 공통적으로 가지고 있는 부분을 사전에 만들어 추상클래스로 선언한 뒤 각 TV에 상속시켜 해당 클래스에서 완성시켜주면 더 효율적일 것이다.일반적으로
메인 메서드가 인스턴스를 참조하려면서로 다른 클래스로 분리되어있어야한다.정정된 코드메인메서드는 static으로 지정되기 때문에 인스턴스의 원형이 같은 클래스 내부에 있을 때 Run하면클래스가 로드되는 시점에 메인메서드는 메모리상에 올라간다.덕분에 객체를 인스턴스화하면
for each? for each 문은 for문과 같다. 표현식만 약간 다를 뿐. 매우 직관적이다 덕분에 가독성 향상에 도움을 준다. 사용할 수 있으면 하는 편이 좋을듯하다. 예시코드 구조 iterate 는 루프를 돌릴 객체, iterate 객체의 크기만큼 한
클래스 내에 선언된 클래스이다.인스턴스 클래스스태틱 클래스지역 클래스익명 클래스등을 선언할 수 있다.내부클래스에서 외부클래스의 멤버에 쉽게 접근할 수 있다.코드 복잡성을 줄일 수 있다.(캡슐화)내부클래스는 외부클래스 외 다른 클래스에서 잘 사용되지 않는 것이어야 한다.
이름이 없는 내부클래스이다.클래스의 선언과 객체생성을 동시에 한다.때문에 단 한번만 사용될 수 있고 오직 하나의 객체만을 생성할 수 있다.이름이 없기 때문에 생성자를 가질 수 없다.조상 클래스의 이름이나 구현하고자하는 인터페이스의 이름을 사용하여 정의한다.익명클래스 적
프로그램이 오동작하거나 비정상적으로 종료되는 경우가 있다. 이런 경우를 에러 또는 오류라고 한다. 에러의 종류 컴파일 에러 컴파일 시 발생하는 에러 런타임 에러 실행 시 발생하는 에러 논리적 에러 실행은 되지만 의도와 다르게 작동하는 것 자바는 실행 시 발생할 수
메인 메서드에서 Exception을 throws 한다는 것은 반드시 처리해야하는 Exception이라는 의미이다.예외를 전달받은 메서드가 예외를 처리하지 못하면 자신을 호출한 메서드(호출스택에 있는 메서드)를 따라 전달되다가 제일 마지막에 위치한 main메서드로 예외를
finally블럭은 try-catch문과 함께 사용된다.단, 예외의 발생여부와는 관계없이 실행되어야할 코드를 포함한다.위 코드의 경우 deleteTempFiles()가 여러 번 겹친다.deleteTempFiles()는 예외발생여부에 관계없이 실행되어야하므로다음과 같이
object클래스는 모든 클래스의 조상클래스이다.덕분에 모든 클래스에서 바로 사용가능하다.Object클래스는 위 11개의 메서드만 가지고 있다.이 중 가장 많이 쓰이는 메서드를 정리하려한다.여기서 눈여겨볼것은비교대상간의 비교 전에 타입을 일치시켜줘야한다는 것.equal
String(String s)String(char\[] value)String(StringBuffer buf)char charAt(int index)int compareTo(String str)String concat(String str)boolean contains(
A객체를 생성해야만 B객체 생성가능A객체를 생성하지 않아도 B객체를 생성할 수 있음method()가 실행될 때만 B 객체를 생성할 수 있음
자바에서 DB에 접속할 수 있도록 하는 자바 API이다.SQL에서 연결/인증, 쿼리실행, 결과패치를 수행한다.거의 한 단으로 묶어서 사용한다고한다.Class.forName("드라이버");Connection con = DriverManager.getConnection(u
multipart/form-data 타입의 파일업로드 중 발생. AppData / Local / Temp 폴더는 임시폴더이다. 해당 폴더에 임시 파일업로드는 되었는데, 해당오류가 출력되길래 혹시 프로세스를 물고 안놔주는건가 싶어서 리소스를 모니터링해봤는데 STS가