java142 4월 12일 (2) Java - 객체지향 객체지향 프로그래밍 (Object Oriented Programming, OOP) 기능을 제공하는 명령어들을 묶어서(객체화) 작성하고 다른 명령어 묶음과 연계하여 구현하는 프로그래밍 방식 객체 = 정보 + 기능 = 필드(멤버 변수) + 메소드 객체는 속성과 동작으로 구성, 자바는 이러한 속성과 동작을 각각 필드와 메소드라고 부른다. 객체 간의 관계 집합관계 사용관계 상속관계 객체 지향의 특성 1. 캡슐화(Encapsulation) : 필드와 메소드를 하나로 묶고 실제 구현 내용을 숨김 -> class를 만드는 작업 정보은닉(Informaiton Hiding) : 접근제어자를 사용하여 객체 내부의 정보를 숨김 2. 상속(Inheritance) : 부모의 특성을 그대로 물려받고 새로운 것을 추가하는 것 ->.. 2023. 4. 12. 1068. 정수 1개 입력 받아 평가 출력하기 점수(정수, 0 ~ 100)를 입력받아 평가를 출력해보자. 평가 기준 점수 범위 : 평가 90 ~ 100 : A 70 ~ 89 : B 40 ~ 69 : C 0 ~ 39 : D 로 평가되어야 한다. 참고 여러 조건들을 순서대로 비교하면서 처리하기 위해서 조건문을 중첩할 수 있다. 만약, 순서대로 검사하고 실행하기 위해 아래와 같이 중첩 시킨다면, if(조건1) { ... } else { if(조건2) { ... } else { ... } } 중첩된 구조는 논리적으로 1단위이기 때문에 코드블록 기호를 생략하면 아래와 같은 구조로 다시 표현될 수 있다. if(조건1) { ... ; } else if(조건2) { ... ; } else { ...; } 이와 같이 조건을 계속 붙여나가면.. if(조건1) { .... 2023. 4. 12. 4월 12일 (1) Java - 데이터 관리 프로그램 통합개발환경 (IDE, Integrated Development Environment) 코드 편집기 + 컴파일러(빌더) + 디버거(Debugger) 디버거 : 프로그램 버그를 잡기 위한 도구, 디버깅을 위한 도구 버그 - 논리적인 오류(1+1이 2가 나오지 않는 현상) 디버깅 - 코드를 한줄 씩 실행하여 그 때 그 때의 결과를 확인하면서 로직의 오류를 찾고 수정하는 과정 모든 프로그래밍 언어는 디버깅이 필요하다. 브레이크 포인트 : 일시정지, 바이트코드로 실행 코드를 처리하고 있는 내용적인 모습을 볼 수 있다. 파란색은 실행되지 않은 부분을 나타낸다. 스킵 F8, 진입 F7 : 메서드 내용확인, 메서드 벗어나기(점프) shitf + F8, 커서에서 멈추기 기본데이터 타입은 값을 볼 수 있다, 인스턴스의 .. 2023. 4. 12. 4월 11일 (2) Java - 변수 용어, 저장 위치 변수 용어 정리 1. 지역변수 : 메소드 내부에 작성된 변수, 메소드 호출 시 생성되었다가 메소드 종료 시 제거된다. 다시 호출되면 새롭게 다시 생성 2. 매개변수 : 메소드에서 파라미터를 받기 위한 지역 변수. 지역변수와 같음. 3. 참조변수 : 인스턴스의 주소를 저장하는 변수. 예) String, Class에 만들어진 변수 4. 멤버변수 : 클래스 내부, 메소드 외부에 작성하는 변수, 한 클래스의 모든 메소드에서 사용이 가능(전역) 객체 = 멤버변수 + 메소드 5. 인스턴스 (멤버)변수 : 멤버변수면서, static이 붙지 않는 변수. (인스턴스 생성 후부터 존재하는 변수) 필드와 같은 말 6. 필드 : 인스턴스 변수를 지칭하는 다른 말 7. 스태틱 (멤버)변수 : 멤버변수이면, static이 붙는 .. 2023. 4. 11. 4월 11일 (1) Java - 배열, 리스트 배열 1차원배열 - [1,2,3,5,6,...., n] 다차원 배열 2차원 배열 선언) 동일한 타입으로 만들어진다. 자료형 배열명[][] = new 자료형[줄개수][칸개수]; 예) int [2][3] 공간 구성 0.0 0.1 0.2 1.0 1.1 1.2 배열의 구조적 문제로 인해서 효율성이 떨어진다. 배열의 구조적 문제 (크기 변경이 불가) -> ArrayList 객체를 활용 리스트(List) 구조 객체 - ArrayList 배열의 구조적 한계(크기 변경 불가 등)로 활용율이 떨어짐 대신 ArrayList를 주로 활용 ArrayList는 크기가 가변적이기 때문에 효율적이다. ArrayList 배열 형태의 목록 객체 -> 인스턴스 만들어서 사용해야 한다. 크기 변경이 자유로움 선언) ArrayList 목록.. 2023. 4. 11. 1067. 정수 1개 입력 받아 분석하기 정수 1개가 입력되었을 때, 음(minus)/양(plus)과 짝(even)/홀(odd)을 출력해보자. 참고 조건/선택 실행 구조의 안에 조건/선택 실행 구조를 다시 "중첩"할 수 있다. 이는 "중첩(nested)"의 원리가 적용되는 내용으로 아래와 같은 구조가 가능하다. if(조건1) { if(조건2) //조건문의 중첩 { ... } else { ... } } else { if(조건2) { ... } else { ... } } 위와 같은 조건/선택 실행구조는 조건/선택 실행구조를 중첩해 서로 다른 4가지(2가지*2가지)의 경우에 대해 다른 실행을 할 수 있도록 해준다. ** 어떤 조건들이 맞았을 때에는 해당부분의 코드블록 내용만 실행되고, 전체 조건/선택 실행구조를 빠져나간다. 즉, 다른 부분들은 실행되.. 2023. 4. 11. 이전 1 ··· 12 13 14 15 16 17 18 ··· 24 다음