분류 전체보기(361)
-
[Java] final 키워드
final 자바에서 final은 '변경할 수 없는' 의미를 가지는 키워드이다. final은 3군데에 적용할 수 있다. 클래스 메서드 필드 1. final class 클래스 이름 앞에 사용된 final은 클래스를 상속받을 수 없음을 선언한다. final class FinalClass { // 이 클래스 상속 불가 // ... } class SubClass extends FinalClass { // 컴파일 오류 발생. // ... } 2. final method 메소드 이름 앞에 사용된 final은 해당 메서드가 오버라이딩할 수 없음을 선언한다. 자식 클래스가 부모 클래스의 특정 메소드를 오버라이딩하지 못하게 하고 무조건 상속받아 사용하도록 하고자 할 때 사용한다. public class SuperClass..
2020.04.18 -
[Java] static 키워드
※ 이 글은 공부한 내용을 정리한 글입니다. static 멤버 - 동일한 클래스의 모든 객체들에 의해 공유되는 멤버이다. 멤버는 클래스당 하나가 생성되어 클래스 멤버라고도 부른다. static 멤버는 객체 내부가 아닌 별도의 공간(클래스 코드가 적재되는 메모리)에 생성된다. 그리고 클래스 로딩 시에 멤버가 생성된다. 객체가 생기기 전에 이미 생성되어 있으며, 객체가 생기기 전에도 사용이 가능하다. 또한 객체가 사라져도 멤버는 사라지지 않으며, 멤버는 프로그램이 종료될 때 사라진다. non-static 멤버 static 멤버 선언 class Sample { int n; void g() {...} } class Sample { static int m; static void g() {...} } 공간적 특성 ..
2020.04.18 -
[Java] 접근 지정자
※ 이 글은 공부한 내용을 정리하는 글입니다. 패키지(package) : 서로 관련 있는 클래스 파일들의 집합으로, 디렉터리 혹은 폴더와 같은 개념이다. 자바의 4가지 접근 지정자 - private, protected, public, default > 캡슐화의 원칙이 지켜지도록 가능한 한 접근 범위를 작게 하여 접근 지정자를 선정하는 것이 좋다. 특별한 이유가 없는 한 public 보다 private으로 선언한다. 클래스 접근 지정 - 다른 클래스에서 이 클래스를 활용할 수 있는지에 대한 허용 여부를 지정하는 것. public - 패키지에 상관없이 다른 어떤 클래스에게도 사용이 허용된다. default - 같은 패키지 내의 클래스들에게만 사용이 허용된다. 멤버 접근 지정 - private > defaul..
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 -
[Baekjoon] 별 찍기 - 10990 문제풀이 with Java
https://www.acmicpc.net/problem/10990 10990번: 별 찍기 - 15 첫째 줄부터 N번째 줄까지 차례대로 별을 출력한다. www.acmicpc.net 규칙 - 줄은 n만큼 생긴다. n-i만큼 공백이 생기고 그 뒤에 별 하나를 찍는다. 그 뒤로 i*2-3(1행 - 0, 2행 - 1, 3행 - 3 ... 0,1,3,5... 순의 홀수개) 만큼의 공백 생성 후 별 하나 찍기 import java.util.Scanner; public class Baekjoon_10990 { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int n = scanner.nextInt(); scanner..
2020.04.18 -
[Java] 객체의 소멸과 가비지 컬렉션
※ 공부한 내용을 정리하는 글입니다. 자바에서는 객체를 생성할 수 있지만 소멸시키는 연산자는 없다. 자바는 new 로 할당받은 후 사용하지 않게 된 객체 메모리를 가비지(garbage)라고 부르며, 가비지 컬렉터가 적절한 시점에 자동으로 수집하여 가용 메모리에 반환시킨다. 가비지(garbage) : 자바 응용프로그램에서 더 이상 사용하지 않게 된 객체나 배열 메모리이다. 가비지의 기준 - 참조하는 레퍼런스가 하나도 없는 객체나 배열을 가비지로 판단한다. a = new Person("철수"); b = new Person("영희"); b = a; > b가 가리키던 객체는 아무도 참조하지 않게 되어 더 이상 접근할 수 없게 됐다. 이 객체("영희")가 가비지이다. 가비지 컬렉션(garabage collecti..
2020.04.14