생성자 생성자는 인스턴스가 생성될 때 호출되는 인스턴스 초기화 메서드이다. 주로 인스턴스 생성 시 실행되는 작업이나 변수 초기화 작업에 사용된다. class Card{ private String cardName; public Card() { } } 생성자의 조건은 클래스와 이름이 같으면서, 리턴 값이 없어야한다. 리턴 값이 없음에도 void형을 적지않는다. 생성자는 보통 public 접근제어자를 이용하는데, private으로 생성자를 만들면 다른 클래스에서 인스턴스를 생성할 수 없게된다. private생성자를 이용한 예제 생성자 오버로딩 class Card{ private String cardName; //생성자1 public Card() { } //생성자2 public Card(String _cardN..
한 클래스에서 매개변수의 개수 또는 타입이 다르면 이름이 같은 메소드를 여러개 정의할 수 있는데, 이처럼 이름이 같은 메소드를 여러개 정의하는 것을 메소드 오버로딩 또는 오버로딩이라고 한다. 오버로딩 조건 메소드 이름이 같아야한다. 매개변수의 개수 또는 타입이 달라야한다. 위의 조건이 만족되면 메소드의 이름이 같더라도 서로 식별될 수 있기때문에 오버로딩이 가능하다. 이 때, 메소드의 리턴타입과 매개변수명은 전혀 영향을 미치지 않는다는걸 주의해야한다. 오버로딩 잘못된 예시 1. 메소드 이름은 같지만 매개변수 이름만 다른 경우 public int add(int a, int b){ return a + b; } public int add(int x, int y){ return x + y; } 메소드의명이 같지만..
함수를 사용할 때 괄호() 안에 지정하는 값을 인자라고 부를 때도 있고 매개변수라고 부를 때도 있다. 이 둘은 같아보이지만 상황별로 다르게 사용되는데, 어떤 차이가 있는지 알아보자. 인자 : 메서드를 호출할 때 괄호() 안에 전달하는 값 매개변수 : 인자의 값을 복사해 받아들이는 메서드 선언부에 지정된 변수 코드를 통한 예시를 알아보자. 매개변수 // 메서드의 선언 public static int addNum(int a, int b) { //parameter : a, b return a + b; } int 형 정수 2개를 매개변수로 받아 합을 리턴하는 메서드이다. 여기서 사용되는 a와 b는 전달되는 값을 담는 변수로써 매개변수라고 할 수 있다. 인자 public static void main(String..
JVM 자바의 가장 큰 특징 중 하나는 운영체제에 독립적이라는 것이다. 즉, 윈도우에서 만들어진 자바 프로그램은 리눅스, 맥 os 에서도 동작할 수 있다. OS 위에서 이러한 독립성을 제공해주는 것이 JVM(Java Virtual Machine)이며 기본적으로 동작하는 과정은 다음과 같다. 자바 프로그램 실행 과정 사용자가 만든 Java 소스코드는 컴파일러를 거쳐 클래스 파일(바이트코드로 번역)로 만들어진다. 이후 만들어진 바이트 코드를 JVM이 읽어 어떤 운영체제든 실행가능하도록 만들어진다. 이러한 구조를 통해 Java프로그램은 운영체제에 독립적이라고 할 수 있다. 하지만 Java 응용프로그램이 통신하는 JVM은 운영체제(Window, Linux, Mac)에 종속적이다. 즉, 운영체제에 적절한 JVM이..
Exception Exception(예외처리)이란 오류가 발생했을 때 프로그램이 종료되는것을 막는 것이다. 예외처리는 Error와는 다르게 사용자(S/W)가 대처할 수 있다. 반드시 필요한 예외처리를 CheckedException이라 하고 프로그래머의 판단에 맡기는 예외처리를 UnCheckedException 이라고 한다. 예제 public class Exeption { public static void main(String[] args) { int r; System.out.println("Exception Before"); try { r = 10/0; System.out.println(r); } catch(Exception e) { e.printStackTrace(); String msg = e.get..
hashCode() String str1 = "JAVA"; String str2 = "JAVA"; String str3 = new String("JAVA"); System.out.println("str 1 hashCode : " + str1.hashCode()); System.out.println("str 2 hashCode : " + str2.hashCode()); System.out.println("str 3 hashCode : " + str3.hashCode()); str 1 hashCode : 2269730 str 2 hashCode : 2269730 str 3 hashCode : 2269730 [value를 통해 hashCode를 만드는 매서드] 기본적으로 hashCode()는 Object 클래..
String 자바에서 스트링 인스턴스를 생성하는 방법으로 String 클래스를 주로 이용하는데, String 클래스로 생성된 인스턴스의 값은 오직 읽기만 가능하고 변경할 수 없는 immutable class이다. ▶ String 클래스를 사용한 문자열 String str = "JAVA"; System.out.println("str : " + str); str = str + "_8"; System.out.println("str : " + str); str : JAVA str : JAVA_8 그러나 코드를 실행하면 분명 str 의 값이 변경되었다. 하지만 두 번째 문자열이 만들어지는 과정이 "변경"이라하기엔 다소 무리가 있다. String 클래스를 이용하여 문자열을 변경하면 기존에 "JAVA"가 존재하던 s..
싱글톤 패턴이란? 생성자를 반복적으로 호출하더라도 최초 생성된 객체(인스턴스)를 반환해주는 것이다. 싱글톤 패턴을 사용함으로써 얻는 장점은 다음과 같다. 1. 메모리낭비 방지 - 객체의 재사용으로 인해 반복적으로 생성할 필요가 없다. 2. 전역성(static) - 다른 객체와 공유가 용이하다. 그러나 결합도가 높아짐으로 변경시 사이드 이팩트 발생확률이 높다. 싱글톤 소스코드- [JAVA] public class SingleTonTest { // 외부접근 x, static으로 단일 생성 private static SingleTonTest stt = new SingleTonTest(); // private 생성자로 외부에서 생성 못하게 private SingleTonTest() {} public static..
- Total
- Today
- Yesterday
- 스프링
- 데이터베이스
- 스프링부트
- 백준
- CS
- 넥사크로
- 프로그래머스
- HeidiSQL
- C++
- 환경설정
- JVM
- Thymeleaf
- Java
- SQL
- 이클립스
- 개발용어
- Open API
- 네트워크
- 국비교육
- 오류
- 오라클
- C
- CSS
- JSP
- 부트스트랩
- svn
- 인턴
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |