개발/☕ JAVA(8)
-
☕ [ Java의 정석 ] Chapter 06. 객체지향 프로그래밍 I
1. 객체 지향 언어 객체 지향 언어의 특징 1 ) 코드의 재사용성이 높다: 새로운 코드를 작성할 때 기존의 코드를 이용하여 쉽게 작성할 수 있다2 ) 코드의 관리가 용이하다: 코드간의 관계를 이용해서 적은 노력으로 쉽게 코드를 변경할 수 있다3 ) 신뢰성이 높은 프로그래밍을 가능하게 한다: 제어자와 메서드를 이용해서 데이터를 보호하고 올바른 값을 유지하도록 하며, 코드의 중복을 제거하여 코드의 불일치로 인한 오동작을 방지할 수 있다 💡객체지향개념을 학습할 때 재사용성과 유지보수, 중복된 코드의 제거, 이 세가지 관점에서 보면 보다 쉽게 이해할 수 있다 2. 클래스와 객체 1 ) 클래스와 객체의 정의와 용도 클래스객체정의객체를 정의해놓은 것실제로 존재하는 사물 또는 개념용도객체를 생성하는..
2025.01.06 -
🎃 코딩 테스트 스터디 2주차
이번주 큰 주제는 1. 자료구조 2. 탐색과 정렬 # 10828 - 스택https://www.acmicpc.net/problem/10828Pythonimport sysinput = sys.stdin.readlinestack = []N = int(input())for i in range(N): command = list(map(str, input().split())) if command[0] == "push": command[1] = int(command[1]) stack.append(command[1]) else: if command[0] == "pop": if stack: print(stack.pop(..
2024.08.09 -
☕ Java 예외 처리
Java의 Exception / Error 처리 1. Error와 Exception 프로그램 오류란 어떠한 원인에 의하여 프로그램이 비정상적으로 종료되는 것을 의미한다 프로그램 오류를 구분하는 기준은 1 ) 발생 시점과 2 ) '누구'에 의해 발생하는가 두개라고 볼 수 있다 발생 시점에 따른 프로그램 오류 구분컴파일 에러 : 컴파일 시에 발생하는 에러런타임 에러 : 실행 시에 발생하는 에러논리적 에러 : 실행은 되지만, 의도와 다르게 동작하는 것 누구에 의해 발생하는가에 따른 프로그램 오류 구분- Error(에러) : 시스템 상에서 발생하는 프로그램 오류 / 프로그램 코드만으로는 수습 불가 ex ) 메모리 부족(OutOfMemoryError) / 스택오버플로우(StackOverflowError)-..
2024.07.26 -
☕ Java 다형성 ( 오버라이딩, 오버로딩 )
다형성: 여러 가지 형태를 가질 수 있는 능력: 한 타입의 참조 변수로 여러 타입의 객체를 참조할 수 있도록 하는 것Java의 다형성은 상속과 관련이 깊다 1. 오버라이딩 오버라이딩 : 부모 클래스로부터 상속받은 메서드의 내용을 재정의하는 것* 부모 클래스로부터 상속받은 메서드를 그대로 사용하기도 하지만 자식 클래스 자신에 맞게 변경해야 하는 경우가 많다 오버라이딩 조건메서드의 선언부가 같아야 함- 메서드 이름이 동일해야 함- 매개 변수의 타입과 개수가 같아야 함- 반환 타입이 같아야 함 - 접근 제어자는 부모 클래스의 메서드보다 좁은 범위로 변경할 수 없음 public > protected > (default) > private- 부모 클래스의 메서드보다 많은 수의 예외를 선언할 수 없음 - ..
2024.07.24 -
☕ Java I/O Stream
Java 입출력 스트림 입출력은 잘 알다시피 키보드로부터 데이터를 '입력'받고 화면을 통해 '출력'하는 과정을 의미한다.Java에서는 입출력을 스트림이라는 방식을 통해서 수행한다. 스트림 : 데이터를 운반하는 데 사용되는 연결 통로- 단방향 통신만 가능 ( Source -> Input Stream -> OutputStream -> Sink )- FIFO(First In First Out) 구조- 입력과 출력을 동시에 수행하려면 입력을 위한 입력 스트림, 출력을 위한 출력 스트림 총 2개가 필요 나는 여태까지 입력받을 때는 Scanner, 출력할 때는 System.out.println() 이런 애들만 사용해왔는데데브코스에서 다른 분들의 코드를 보니까 대부분 입출력을 BufferedReader와 Buffe..
2024.07.17 -
☕ Java 상속 ( super, 업캐스팅 / 다운캐스팅, instanceof )
상속: 기존의 클래스(부모 클래스)를 재사용하여 새로운 클래스(자식 클래스)를 작성하는 것공통적인 속성(변수)과 기능(메서드)의 수정이 쉬워진다 -> 유지보수, 코드의 확장성 용이코드의 중복을 방지한다 -> 코드 간결, 개발 시간 단축 1 ) 용어 정리- 조상 클래스 = 상위 클래스 = 부모 클래스 = 슈퍼 클래스- 자손 클래스 = 하위 클래스 = 자식 클래스 = 서브 클래스 부모 클래스를 상속받은 자식 클래스 내부에는 부모 클래스의 모든 변수와 메소드가 존재한다즉, 부모 클래스 ⊂ 자식 클래스이때, 생성자와 초기화 블럭은 상속되지 않는다. 오직 멤버(변수, 메소드)만 상속된다. 부모 클래스의 변동은 자식 클래스에 영향을 주지만 자식 클래스의 변동은 부모 클래스에 영향을 주지 않는다 2 ) 상속 선..
2023.06.15