일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 배열
- 이클립스
- DML
- Spring_에러정리
- SQL
- 인덱스
- java
- 다이어그램
- spring
- asp.net
- github
- 자바스크립트
- Git_명령어정리
- 자바
- vb.net
- Spring_오류정리
- jsp
- Git_정리
- JavaScript
- git
- HTML
- 아파치톰캣
- MySQL
- CSS
- Linux_명령어정리
- SQL_용어정리
- json
- 인스턴스
- workbench
- Linux
- Today
- Total
목록Java/Java: 문법 정리 (42)
데브마우스
생성자란 무엇인가요? 생성자는 인스턴스를 초기화하는 메서드입니다. 생성자의 특징은 아래와 같습니다. 생성자의 이름은 클래스의 이름과 같으며 리턴값이 없습니다. 생성자에는 static을 붙일 수 없습니다. 생성자 메서드를 직접 작성하지 않아도 기본 생성자는 컴파일러가 자동으로 생성합니다. 다만 기본 생성자가 아닌, 매개변수를 가지고 있는 생성자를 작성할 경우 컴파일러는 기본 생성자를 작성하지 않습니다. 기본 생성자 코드 형식 기본 생성자 코드 형식은 아래와 같습니다. class A { A() { System.out.println("A()가 실행되었습니다."); } } 매개변수가 있는 생성자 코드 형식 매개변수가 있는 생성자 코드 형식은 아래와 같습니다. class A { A(String str) { Sys..
Java의 Object 클래스란 무엇인가요? Object 클래스는 모든 클래스의 조상인 클래스입니다. 어떤 클래스라도 예외 없이 클래스의 상속 관계를 추적하다보면 Object 클래스가 나오게 됩니다. Object 클래스 덕분에 다음 메서드를 사용할 수 있습니다. clone() equals(Object) : boolean finalize() : void getClass() : Class hashCode() : int notify() : void notifyAll() : void toString() : String wait() : void wait(long) : void wait(long, int) : void
자바의 클래스는 변수와 메서드를 가지고 있습니다. 자바 코드를 보면 가독성을 위해서 변수는 윗부분에 작성하고 메서드는 아래부분에 작성하는게 거의 관습처럼 널리 퍼져있습니다. 하지만 저는 꼭 변수를 위에만 작성해야할까?라는 생각이 들었습니다. 중괄호 안에서 선언할 수 있는 것은 멤버(변수와 함수) 뿐이기 때문입니다. class A{ A() { this.aa = 2; } int aa = 1; void methA() { } int bb = 2; int methB() { return 3; } } 예상대로 메서드를 먼저 선언하고 변수를 그 다음 줄에 선언해도 문제가 없었습니다. 하지만 관습적으로 변수를 위에 쓰고 메서드를 아래 씁니다. 변수와 메서드가 각각 한 곳에 모여 있어야 구분이 편하지요. 예상대로 변수를 ..
오버로딩(Overloading)이란 무엇인가요? 일반적으로 메서드 끼리는 메서드의 이름이 달라야 하지만, 메서드의 파라미터의 갯수나 파라미터의 데이터 타입을 변경하여 다른 메서드로 사용하는 것입니다. 주의할 점으로 파라미터의 갯수나 파라미터의 데이터 타입으로 다른 메서드로 사용하는 것이지, 반환 타입은 아무 영향을 주지 않습니다. 아래는 예시 코드입니다. class A { static void overLoading() { System.out.println("파라미터가 없는 오버로딩 메서드"); } // 에러 발생합니다. /* static int overLoading() { } */ static void overLoading(int a) { System.out.println(a + "를 호출합니다."); ..
자바 형변환(캐스팅) 정리 변수는 데이터를 담는 상자에 비유할 수 있습니다. 그렇다면 현실에서도 마찬가지로 작은 상자에 있는 물건을 큰 상자에 담을 수 있습니다. 하지만 반대로 큰 상자에 들어갈 수 있는 물건은 작은 상자로 들어갈 수 있을지 잘 판단하신후 담으셔야 합니다. 물건을 제대로 담지 못해서 상자 밖으로 물건이 삐져 나올 수 있습니다. 프로그래밍도 마찬가지입니다. 자동형변환 자동형변환은 사용자가 따로 신경쓰지 않아도 자동으로 자바에서 변경을 해주는 형변환입니다. 아래 코드의 경우 char 변수, int 변수, double 변수를 생성 및 초기화 하고 intB와 doubleC에 다른 변수의 값을 대입하는 코드입니다. public class main { public static void main(St..
static 멤버의 특징 static 멤버는 프로그램이 실행 되기전에 생성됩니다. static 변수는 모든 객체들이 같은 값을 공유합니다. static 메서드는 다음과 같은 코드 형식으로 호출할 수 있습니다: 클래스_이름.메서드이름(파라미터); 인스턴스 멤버 인스턴스 멤버는 생성자 new 키워드를 사용하여 생성됩니다. 인스턴스 변수는 모든 객체들이 다른 값을 가집니다. 인스턴스 메서드는 객체를 생성한 후 사용할 수 있습니다. static 멤버와 인스턴스 멤버간의 참조 및 호출 참조 및 호출 가능 여부 static 멤버가 인스턴스 멤버가 static 멤버를 참조 및 호출 가능 가능 인스턴스 멤버를 참조 및 호출 에러 가능 미리 만들어지지 않은 멤버를 참조할 수 없기 때문에 static 멤버가 인스턴스 멤버..
Call by Value란 무엇인가요? Call by Value란 변수에 값을 대입할 때 일반 변수를 저장합니다. 정수형(int), 실수형(float), 문자형(char), 논리형(boolean) 데이터 타입의 변수는 값을 저장합니다. 그렇기에 아래처럼 변수를 선언하고 초기화할 경우 변수의 값을 담는 메모리에는 일반 데이터 값이 저장되어 있습니다. int a = 3; char b = 'b' boolean c = true; float d = 1.23f; Call by Reference란 무엇인가요? Call by Reference란 위의 Call by Value와 다르게 변수에 값을 저장하는 게 아닌, 참조변수로써 데이터가 저장되어 있는 주소 값을 저장합니다. Call by Reference에 해당되는 데..
배열이란 무엇인가요? 배열을 사용하면 같은 데이터 타입을 하나의 묶음으로 관리할 수 있습니다. 배열 덕분에 한 번의 입력으로 여러개의 변수를 한 번에 선언 및 생성할 수 있습니다. 아래는 예제코드입니다. // 정수형 배열 선언과 초기화합니다. int[] numbers = new int[5]; // 크기가 5인 정수형 배열 생성합니다. // 다른 방법입니다. int[] numbers = {1, 2, 3, 4, 5}; // 크기가 5이고 초기값이 있는 배열 생성합니다. 배열과 for문 배열은 for문과 함께 쓸 때 더욱 더 진가를 발휘합니다. 배열의 인덱스, 대괄호[]안의 숫자를 넣어서 원하는 배열에 접근할 수 있습니다. 반복문인 for문을 활용하면 더 다양하게 사용할 수 있습니다. int[] numbers..
자바의 메서드(method)란 무엇인가요? 다른 프로그래밍 언어에서는 주로 함수라고 부르며 객체 지향언어에서는 메서드라고 부르며 멤버 함수라고 불리기도 합니다. 변수를 요리의 재료에 비유한다면 메서드는 요리의 조리 방법에 비유할 수 있습니다. 왜 메서드를 사용하나요? 메서드를 사용하여 변수를 연산하거나 특정한 기능을 수행하기 위함입니다. 그리하여 프로그램을 원하는대로 동작하게 합니다. 또한 메서드는 한 번 작성해두면 호출하여 재사용이 가능합니다. 만약 계산기 프로그램을 개발한다면 각각의 계산 방법(더하기, 빼기, 나누기, 곱하기 등)을 미리 정의해두고 필요할 때 마다 호출하면 편하게 프로그램을 개발 할 수 있겠지요. 메서드 선언 방법은 무엇인가요? 메서드는 반드시 클래스 안에서 선언되어야합니다. 메서드는..

인스턴스란 무엇인가요? 인스턴스 변수는 객체마다 다른 값을 갖는 고유한 변수입니다. 인스턴스 마다 고유한 값을 가지기 때문에, 인스턴스마다 특별한 값을 가져야할 경우 인스턴스 변수로 선언합니다. class Sample{ int intSample = 0; static int staticIntSample = 0; void methodSample() { System.out.println("methodSample입니다."); } static void methodSample2() { System.out.println("test2"); } } public class Main { public static void main(String[] args) { Sample samp = new Sample(); Sample s..