본문 바로가기

프로그래밍 언어49

추상클래스 , 인터페이스 개념 추상 클래스(abstract class) : 미완성 설계도라고 불리며 미완성 설계도로 완성된 제품을 만들 수 없듯이 추상 클래스로 인스턴스(객체)를 만들 수 없음 실생활에서 추상 클래스를 사용하는 예시) 삼성에서 만든 여러 개의 TV 모델이 있는데 각각의 TV들의 사이즈, 색, 무게들은 다르지만 TV를 만드는 과정의 50% 이상은 비슷할 것이다. 만약 처음부터 TV 제품마다 각각 설계도를 따로 만들어놓고 TV를 만드는 것보다 각각의 TV 제품들의 공통부 분만을 포함하고 있는 미완성 설계도를 만들어 놓고 TV 제품마다 다른 부분들은 해당 미완성 설계도를 토대로 구체적으로 완성하는 게 훨씬 효율적이다. 추상 클래스 구현 코드) // 클래스 앞에 'abstract' 붙여줌 public abstract clas.. 2021. 1. 28.
배열 vs 리스트 데이터 추가 시) - 배열은 기존에 인덱스에 있는 데이터를 변경하면 인덱스는 고정되고 인덱스에 해당되는 데이터만 변경됨 - 리스트의 경우는 기존에 있는 인덱스에 새로운 데이터를 넣으면 기존의 데이터는 한 칸 뒤로 밀려나감 List list = new ArrayList(); list.add(10); // 인덱스 0 list.add(20); // 인덱스 1 list.add(30); // 인덱스 2 for(int i=0;i 50을 넣음 , 인덱스 2에 있던 30은 인덱스3으로 밀려남 for(int i=0;i 인덱스가 있는 공간을 제거 X (사용하지 않는 인덱스가 남아있게됨) List list = new ArrayList(); list.add(10); // 인덱스 0 list.add(20); // 인덱스 1 l.. 2021. 1. 26.
인스턴스,static 개념 클래스(설계도)로 부터 객체를 생성하는 과정을 인스턴스화 한다고 말한다. 클래스를 new 해서 생성된 것을 객체 또는 인스턴스라고 말함 변수의 종류) - 인스턴스(instance) 변수 : 클래스 영역 안에 선언되며 new를 통해 인스턴스를 생성할 때 만들어진다. 클래스 안에 있는 인스턴스 변수를 사용하기 위해서는 객체가 생성되어 있어야 한다. - 클래스 변수 : 모든 객체가 공유한다는 의미로 static(정적,고정된)을 붙인다고 하여 static 변수라고도 불린다. 클래스가 메모리 상에 올라갈 때 static을 붙인 변수나 메서드도 같이 메모리에 올라가게 되므로 인스턴스(객체)를 생성하지 않고도 클래스(static) 변수 또는 클래스(static) 메서드를 사용할 수 있다. - 지역(local) 변수 .. 2021. 1. 24.
Call Stack(호출스택) 메서드의 작업에 필요한 메모리 공간을 제공함 호출스택 관리방식) - 메서드가 호출(실행)되면 호출된 메서드를 위한 메모리가 호출스택에 할당됨 - 메서드가 작업을 마치면 할당받았던 메모리 공간을 반환하고 호출스택에서 제거됨 코드) //1.main 메서드가 호출됨으로써 프로그램이 시작됨 호출스택에는 main 메서드를 위한 메모리 공간이 할당되고 main 메서드 안의 코드가 실행됨 public static void main(String[] args){ // 2.main 메서드를 실행중에 println() 메서드를 만나게 되어 호출스택에서는 println() 메서드를 위한 메모리 공간을 할당받은후 'Hello Java'를 화면에 출력하는 작업을함 System.out.println("Hello Java"); //.. 2021. 1. 24.