Java(160)
-
[Java] static 키워드
※ 이 글은 공부한 내용을 정리한 글입니다. static 멤버 - 동일한 클래스의 모든 객체들에 의해 공유되는 멤버이다. 멤버는 클래스당 하나가 생성되어 클래스 멤버라고도 부른다. static 멤버는 객체 내부가 아닌 별도의 공간(클래스 코드가 적재되는 메모리)에 생성된다. 그리고 클래스 로딩 시에 멤버가 생성된다. 객체가 생기기 전에 이미 생성되어 있으며, 객체가 생기기 전에도 사용이 가능하다. 또한 객체가 사라져도 멤버는 사라지지 않으며, 멤버는 프로그램이 종료될 때 사라진다. non-static 멤버 static 멤버 선언 class Sample { int n; void g() {...} } class Sample { static int m; static void g() {...} } 공간적 특성 ..
2020.04.18 -
[Baekjoon] 별 찍기 - 10991 문제풀이 with Java
https://www.acmicpc.net/problem/10991 10991번: 별 찍기 - 16 예제를 보고 규칙을 유추한 뒤에 별을 찍어 보세요. www.acmicpc.net 규칙 - 줄은 n만큼 생긴다. n-i만큼 공백을 찍고 그 뒤에 별 하나를 찍는다. 그 뒤로 i*2-3(1행 - 0, 2행 - 1, 3행 - 3 ... 0,1,3,5... 순의 홀수개) 만큼 j%2==0 이라면 공백과 별을 함께 찍는 코드를 반복한다. import java.util.Scanner; public class Baekjoon_10991 { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int n = scanner.ne..
2020.04.18 -
[Java] 객체의 소멸과 가비지 컬렉션
※ 공부한 내용을 정리하는 글입니다. 자바에서는 객체를 생성할 수 있지만 소멸시키는 연산자는 없다. 자바는 new 로 할당받은 후 사용하지 않게 된 객체 메모리를 가비지(garbage)라고 부르며, 가비지 컬렉터가 적절한 시점에 자동으로 수집하여 가용 메모리에 반환시킨다. 가비지(garbage) : 자바 응용프로그램에서 더 이상 사용하지 않게 된 객체나 배열 메모리이다. 가비지의 기준 - 참조하는 레퍼런스가 하나도 없는 객체나 배열을 가비지로 판단한다. a = new Person("철수"); b = new Person("영희"); b = a; > b가 가리키던 객체는 아무도 참조하지 않게 되어 더 이상 접근할 수 없게 됐다. 이 객체("영희")가 가비지이다. 가비지 컬렉션(garabage collecti..
2020.04.14 -
[Java] 메소드 오버로딩
메소드 오버로딩(Method Overloading) : 한 클래스 내에서 이름이 같지만 매개변수의 타입이나 개수가 다른 여러 개의 메소드를 중복 작성하는 방법이다. 자바 특징 중 다형성의 한 경우이다. 메소드 오버로딩은 자바 컴파일러에 의해 판단되며, 컴파일러가 이름이 같은 메소드들을 구분할 수 있으면 메소드 오버로딩이 성공한다. 조건 메소드 이름이 동일해야 한다. 매개변수의 개수나 타입이 달라야 한다. 리턴 타입이나 접근 지정자는 관계없다. 성공 사례 class MethodOverloading { public int getSum(int i, int j) { return i + j; } public int getSum(int i, int j, int k) { return i + j + k; } } 실패 ..
2020.04.14