JAVA(77)
-
상속_특징
이전 글에서는 상속이 뭔지, 사용법은 어떻게 되는지 등에 대해 알아봤다. 이번엔 상속의 특징들에 대해 알아보자. 상속도 상속관계에 있을 때 위의 그림과 같이 표현된다. extends 를 통한 상속에서는 실선과 화살표로 상속 관계를 나타낸다. 그림에서 알 수 있듯, sub class 들은 super class 를 참조하여 상위 클래스의 정보들을 알아낸다. 어떻게? extends 키워드 + 상위 클래스명 으로. 반면, 상위 클래스는 하위 클래스의 정보를 알 수 없다 (아무 키워드도 적어주지 않았으니까) 따라서, 상속 관계가 맺어져 있어도 하위 클래스에 있는 정보를 활용할 수 없다. (물론 static 변수, static 메서드 라면 사용 되겠지만) 단일 상속 자바에서는 extends 를 통한 상속 대상(su..
2024.01.28 -
상속
상속이란? 기존 코드를 계승, 확장하여 재사용하는 기술이다. 대충 글로 끄적여도 이해는 잘 안 된다. 써보자. public class SuperAnimal { int legCount; public void move() { System.out.println("움직입니다."); } public void eat() { System.out.println("먹습니다."); } } 상속 사용법 = 클래스 파일에서 class 명 뒤에 extends 키워드와 함께 상속 받을 super class 명을 적으면 된다. public class SubBird extends SuperAnimal{ public void fly() { System.out.println("새는 하늘을 날지."); } } public class An..
2024.01.28 -
static_메서드2
정적 메서드는 객체 생성없이 클래스에 있는 메서드를 바로 호출할 수 있다는 장점이 있음. 하지만 정적 메서드에도 사용 제약이 존재함.( = 아무 때나 사용할 수 있는 거 아님) 정적 메서드 사용법 static 메서드는 static 만 사용할 수 있음. ㄴ 머선 소리지?? - 클래스 내부의 기능을 사용할 때, 정적 메서드는 static이 붙은 메서드나 정적 변수만 사용할 수 있음. - 클래스 내부의 기능을 사용할 때, 정적 메서드는 인스턴스 변수나, 인스턴스 메서드를 사용할 수 없음. 반대로, 모든 곳에서 static 을 호출할 수 있음 ㄴ ??? - 정적 메서드는 공용 기능임. 따라서 접근 제어자만 허락한다면 클래스를 통해 모든 곳에서 static 호출 가능 설명을.. 봐도 모르겠네. 코드 쳐보면서 이해..
2024.01.23 -
static_메서드1
static 키워드는 변수 뿐 아니라 method 에도 들어간다. static 변수에 대해 알아봤으니, 이번엔 static method 고다. public class ConvertUtil { public static String convertCitizenNumber(String citizenNumber) { String[] splitNum = citizenNumber.split("-"); return splitNum[0] + "-" + splitNum[1].substring(0,1) + "******"; } } public class ConvertUtilMain { public static void main(String[] args) { String citizenNumber = "201011-315626..
2024.01.23 -
static_static 변수
static 키워드는 주로 '멤버 변수', '메서드' 에 사용된다. 멤버 변수에 static 키워드가 왜 필요한지 알아보자. 주문이 들어올 때마다 count를 하나씩 늘려 하루 동안 들어온 주문 수를 세고 싶다. 그래서 order 클래스에 멤버변수 int count 를 작성했다. public class Order { public String content; public int count; public Order(String content) { this.content = content; count++; } } 이렇게 작성된 Order 를 실제로 사용 해보니 public class OrderCountMain { public static void main(String[] args) { Order order1 ..
2024.01.22 -
자료구조_스택&큐
스택 구조 3 2 2 2 1 1 1 1 1 탄창이 있다고 쳐보자. 총알을 집어 넣는 구멍은 위쪽에 1개만 뚫려있고, 이 구멍을 통해서만 총알을 넣었다 뺄 수 있다. 총알을 하나, 하나, 하나 해서 3개 넣었는데, 도로 빼라는 지시가 내려와 도로 빼내었다. 구멍이 하나 뿐이라 3번 째로 먼저 넣은 총알을 빼고, 그 다음 2번째로 넣은 총알을 빼고 나서야 마지막 한 발을 뺄 수 있는 '후입선출(LIFO - Last In First Out)' 구조. 이를 스택 이라 한다. 큐 구조 1 2 3 4 5 1 2 3 4 1 2 3 1 2 1 이번엔 후입선출(LIFO) 과 다른 선입선출(FIFO)에 대해서도 알아보자. 가장 먼저 넣은 것이 가장 먼저 나온다. 화장실에 줄을 빨리 선 사람부터 화장실에 들어갈 수 있다. ..
2024.01.22