언어/Java 3

[Java] String과 StringBuffer/StringBuilde

String이란? String 클래스는 문자열을 다루는 클래스이며 불변하다. 즉, String 객체에 값이 초기에 할당되면 그 값은 변경되지 않는다. String 객체 생성방법 1. 리터럴을 이용하여 String 객체 생성 - String a1 = "a"; - String Constant Pool에 저장 2. new 연산자를 이용하여 String 객체 생성 - String a2 = new String("a"); - Heap 영역에 저장 a1과 a2는 서로 참조하는 곳이 다르기 때문에 a1 = a2는 false이다. String 특징 - 불변 String a1 = "a"; a1 += "a"; 1. 'a1' 변수에 'a' 리터럴을 이용해 String 객체 생성 2. 'a1' 변수에 'a' 리터럴 추가로 연산..

언어/Java 2023.05.21

[Java] 오버로딩 vs 오버라이딩

오버로딩(overloading)이란? 한 클래스 내에 같은 이름의 메소드를 여러 개 정의하는 것을 '오버로딩'이라 한다. 메소드의 이름을 절약할 수 있다는 장점이 있다. 메서드 이름이 같아야 한다. 매개변수의 개수 또는 타입이 달라야 한다. 반환 타입은 오버로딩을 구현하는데 아무런 영향을 주지 못한다. ex) println 메소드 void println() void println(boolean x) void println(char x) void println(int x) void println(long x) ... 오버라이딩(overwriting)이란? 조상 클래스로부터 상속받은 메소드의 내용을 변경하는 것을 오버라이딩이라고 한다. class Point { int x, y; String getLocati..

언어/Java 2022.06.22

[Java] 클래스 메소드(static 메소드 vs 인스턴스 메소드)

클래스 메소드(static 메소드)란? 객체 생성 없이 '클래스 명.메소드 명()'으로 호출이 가능하다. 메소드 앞에 static이 붙어 있는 메소드 객체 생성 없이 호출이 가능한 메소드 메소드의 작업을 수행하는데 인스턴스 변수나 인스턴스 메소드를 사용하지 않는 메소드 ex) Math.random() 인스턴스란? 인스턴스 생성 후, '참조 변수.메소드 명()'으로 호출한다. 메소드 앞에 static이 없는 메소드 객체를 생성해야만 호출이 가능한 메소드 메소드의 작업을 수행하는데 인스턴스 변수를 필요로 하는 메소드 ex) class Test() { int a,b; int add() { return a + b; } } Test test = new Test(); test.a = 10, test.b = 20 S..

언어/Java 2022.06.22