💡Input 자바 콘솔 입력 방법에는 대표적으로 read 메소드, BufferedReader 클래스, Scanner 클래스가 있다. read 메소드 int num = System.in.read(); // 10 입력 System.out.println("출력: " + num); // 출력: 49 System.out.printf("출력: %c\n", num); // 출력: 1 문자 입력: 10 출력: 49 출력: 1 콘솔에 숫자 10을 입력해보자. 그러면 1의 아스키코드인 49가 출력될 것이다. 10을 입력했음에도 1이 출력되는 이유는 read라는 메소드가 한 번에 1byte씩 읽기 때문이다. 또한, 한글을 입력할 때 오류가 생기므로 read()는 잘 사용하지 않는다. Enter (\r\n) 입력 int co..
변수명, 클래스명, 메소드명 등의 이름을 다음과 같이 지었더니 좀 더 관리하기 쉽다는 장점이 있어 공식화 되었다. 변수 명명법 패턴은 관습적이긴 하지만, 큰 개발 환경에서는 규칙을 따르지 않으면 혜택을 누리지 못하는 경우가 있으므로 지키지 않으면 안 되는 것 중 하나이다. 또한 팀마다 다른 Code Convention이 있다. 코드 컨벤션은 일관성 있는 코드 작성을 위해 따르는 규칙으로, 팀원과의 협업을 용이하게 하고, 작업 속도를 빠르게 할 수 있다. 💡파스칼 표기법 식별자 단어의 첫 문자를 대문자로 표기하고, 나머지 문자는 소문자로 표기하는 방법이다. 따라서 2개 이상의 단어를 합쳐서 만든 이름일 때 파스칼 표기법의 장점이 있다. 요약하자면 모든 단어를 붙이고, 각 단어의 첫 문자를 대문자로 표기하는..
💡기본 데이터 타입의 종류 구분 데이터 타입 바이트 수 데이터 범위 사용 예시 논리 타입 boolean 1byte 0, 1 (false, true) boolean isTested = true; 문자 타입 char 2byte 0 ~ 65636 char grade = 'A'; 정수 타입 byte 1byte -128 ~ 127 byte num = 1; short 2byte -32768 ~ 32767 short testScore = 100; int 4byte -2147483648 ~ 2147483647 (-21억 ~ 21억) int sumScore = 12345; long 8byte -9223372036854775808 ~ -9223372036854775807 (-922경 ~ 922경) long currentT..
JDK는 Java Development Kit의 약자로 자바의 개발도구를 의미하며, Eclipse는 코딩할 때 사용하는 메인도구로서 자바의 실행환경을 의미한다. JDK의 종류로는 회사에 따라 여러 가지로 분류할 수 있다! 대표적으로 Oracle JDK과 Open JDK가 있으며, 소프트웨어 시장에서 무료와 유료로 구분되는 기준은 기술 지원을 받을 수 있느냐가 가장 크다. 자바 개발자 환경 구축 과정은 다음의 순서로 진행한다. 1. JDK 설치 2. JAVA_HOME 및 Path 등록 3. Eclipse 설치 4. eclipse.ini에 JDK를 등록 (이 작업은 필수는 아니다) 📌JDK 설치 https://www.oracle.com/kr/java/technologies/javase/jdk11-archiv..
리스코프 교체 원칙(Liskov Substitution Principle)은 바버라 리스코프(Barbara Liskov)에 의해 제안된 원칙으로, 객체 지향 프로그래밍(OOP)의 설계 원칙 중에 하나이다. 리스코프 교체 원칙은 상속 관계에서의 서브타입(Subtype)의 관계를 정의하고 유지하는 원칙으로, S가 T의 하위타입이라면, T 타입의 객체를 S 타입으로 교체되어도 프로그램의 의미가 변경되지 않아야 한다. 이 원칙은 상속 관계에서 하위 클래스(Subclass)가 상위 클래스(Superclass)의 기능을 대체할 수 있어야 한다는 것을 강조한다. 즉, 부모 클래스로부터 파생된 자식 클래스는 부모 클래스의 행동을 유지하면서도 자신만의 특화된 동작을 추가할 수 있어야 한다. 이를 준수하면 클라이언트 코드..
코드를 실행하면 사용자로부터 두 개의 숫자와 연산자를 입력받아서 해당 연산을 수행하고 결과를 출력하며, 계산 결과가 출력될 때마다 useMemory 변수가 true로 설정되어 이전 결과를 메모리에 저장된다. 해당 소스코드에는 0으로 나누는 경우에 대한 예외 처리도 포함되어 있으며, 'M' 연산자를 사용하여 현재 결과 값을 메모리에 저장하고, 'R' 연산자를 사용하여 메모리에 저장된 값을 불러와서 계산에 활용할 수 있고, 'C' 연산자를 사용하면 메모리를 초기화 할 수 있다. 소스코드 package domain; import java.util.Scanner; public class Calculator { public static void main(String[] args) { Scanner scanner ..
Java의 이해: 클래스와 객체 💡클래스 (Class) 클래스는 멤버 변수 및 메서드를 포함하는 객체를 만들기 위한 코드 양식으로서, 인스턴스(메모리에 할당된 객체)를 생성하는 설계도(틀)라고 할 수 있다. 속성을 표현하는 변수 isaac-christian.tistory.com Java의 이해: 추상화, 캡슐화, 상속, 다형성 💡추상화 (Abstraction) 추상화는 관련 없는 사항을 은닉 또는 삭제하여 핵심적인 개념 또는 기능만을 간추려 내는 작업으로, 나에게 필요한 특징만을 표현하여 본질적 문제에 집중할 수 있도록 한 isaac-christian.tistory.com 이 글은 Java의 이해: 클래스와 객체, Java의 이해: 추상화, 캡슐화, 상속, 다형성 글을 참고한다. Car 클래스 소스코드 ..
💡 테스트 소프트웨어 개발에서의 테스트는 소프트웨어의 품질을 평가하고 결함을 발견하여 실제 동작 사이의 차이를 수정하는 작업이다. 테스트는 소프트웨어의 오류를 최소화하고 사용자에게 안정적이고 신뢰할 수 있는 소프트웨어를 제공하기 위해 필수적이다. 그러나 테스트는 결함이 있음을 보여줄 뿐, 결함이 없음을 증명할 수는 없다. 소프트웨어는 복잡하고 다양한 입력 조건과 환경에서 실행되기 때문에 모든 가능성을 고려하여 완벽하게 테스트하는 것은 불가능하다. 따라서 테스트는 소프트웨어의 특정 부분을 검사하고 그 부분에 대한 오류를 찾아내고 수정함으로써 소프트웨어의 신뢰성과 안정성을 향상시키는 데에 주로 사용된다. ⚬ 파레토 법칙 파레토 법칙은 경영학자 빌포르도 파레토가 이탈리아에서 20%의 사람이 80% 부를 소유하..