본문 바로가기

[Java] 추상 클래스 / 메소드 / Abstract Class / Abstract Method 추상 클래스와 추상 메소드에 대해 알아보겠습니다. 추상 클래스와 추상 메소드는 각각 클래스와 메소드 앞에 abstract를 붙여주면 됩니다. 그렇다면 추상 클래스와 추상 메소드를 왜 쓸까요? 추상 클래스를 쓰는 이유 1. 더 이상 객체를 생성하고 싶지 않을 때 -> 클래스 앞에 abstract를 붙여주게 되면 객체를 생성할 수 없습니다. 따라서 처음부터 객체를 생성하지 않는 클래스를 만들거나 어느 회사에서 더 이상 고객을 받지 않을 때 같은 경우에 클래스 앞에 abstract 를 붙여줍니다. 2. 두개의 서로 다른 클래스를 만들어야 하는데 두 클래스에 겹치는 내용이 많을 때 겹치는 내용을 추상 클래스로 생성하고 두개의 서로 다른 클래스에서 이 추상 클래스를 상속 -> 비슷한 내용을 가지는 두 클래스를 만.. 더보기
[Java] final 기능 final 의 기능은 크게 3가지 정도가 있습니다. 1. 변수 앞의 final 은 C에서 const 와 같은 역할로 상수를 만드는 역할을 한다. 2. 클래스 앞에 final 이 붙으면 클래스가 상속이 불가능하게 만든다. 3. 메소드 앞에 final 이 붙으면 오버라이딩이 되지않게 만든다. 더보기
[Java] 클래스의 정적 필드 / 정적 메소드 / Static Field / Static Method 1. Static Field / 정적 필드 Class를 생성할 때 변수 부분을 Field 라고 하는데 이 변수를 static 으로 선언을 해주게 되면 이 변수는 객체가 생성될 때 마다 생성되는 변수가 아니라 Class에 속하는 변수가 된다. 즉 int a; 가 있으면 객체가 생성될 때 마다 변수가 객체마다 a가 존재하지만 static int a; 라고 선언을 해주면 생성된 모든 객체가 a 를 공유하게 된다.(a가 1개만 존재하고 Class에 속하게 된다) 정적 필드는 모든 객체가 공유한다. 하지만 생성자(Constructor)의 인자로 정적 필드값을 변경한다면 정적 필드를 사용하는 의미가 없다. 정적 필드는 필요한 상수 값 같은 데이터를 저장한다. 2. Static Method / 정적 메소드 먼저 St.. 더보기