TIL (22.04.14)
이 글은 과제 제출 기한이 지났기 때문에 풀이를 정리해도 될 것 같아 비공개 글에서 공개글로 전환하였습니다. 필자도 배우는 입장이라 틀린점, 잘못된 점이 있을 수 있습니다. 그러니 지적, 피드백 환영합니다. package assignment2_2; import java.util.Scanner; class Account { private String owner; private long balance; public String getOwner() { return owner; } public void setOwner(String owner) { this.owner = owner; } public long getBalance() { return balance; } public void setBalance(lon..
2022.04.17
TIL (22.04.16) 시험범위 정리 2장
2장 자바 프로그램 기본 구조 클래스 객체지향언어에서 프로그램을 개발하는 단위 적어도 하나의 클래스는 있어야 함 자바의 소스파일은 클래스 이름과 연관됨(Hello 클래스 생성 -> Hello.java 소스파일 생성) 클래스 이름은 대문자로 시작하는 것이 관례 클래스 내부에는 여러개의 메소드가 포함됨 메서드 수행할 작업을 나열한 코드의 모임 자바 애플리케이션은 main() 메서드를 포함하는 클래스가 반드시 있어야 함 따라서 main()메서드를 포함하는 클래스가 반드시 있어야 함 실행문 작업을 지시하는 번수선언, 값 저장, 메서드 호출 등의 코드화면에 문자, 숫자 등을 출력하는 실행문 System.out.println("안녕"); 주석문 행주석 // 범위 주석 /* */ 문서 주석 /** */ 식별자 규칙 ..
2022.04.16
TIL (22.04.16) 시험 범위 정리 1장
1장 프로그래밍 언어 컴퓨터와 인간 사이를 연결하는 매개체이며, 컴퓨터에 작업을 시키기 위한 도구. 고급언어 : C, C++ 자바 등 고급언어로 작성한 소스코드는 컴파일러라는 시스템 소프트웨어를 이용해서 먼저 기계어로 구성된 실행코드로 변환. #include main ( ) { print("Hello, world!"); } 컴파일러를 거치면 01010010101010101 10101001010101010 011010101001100110 이런 기계어로 바뀌어서 실행을 함(실제로는 다른 코드겠죠? 실행 안해봄) 자바 소개 역사 선마이크로시스템즈의 제임스 고슬링 자바의 전신은 1991년 그린 프로젝트로 탄생한 객체지향언어인 오크(Oak) 1993년 인터넷과 웹이 엄청난 속도로 발전 인터넷 환경에 적합하도록 ..
2022.04.16
TIL (22.04.13)
필자도 배우는 입장이라 틀린점, 잘못된 점이 있을 수 있습니다. 그러니 지적, 피드백 환영합니다. this와 this() 생성자에서 다른 생성자를 호출할 수 있도록 기존 생성자를 나타내는 this() 제공 this()를 사용하면 오버로딩된 생성자에서 생기는 중복코드를 없앨 수 있음 this() 사용시 생성자의 첫 행에 위치해야 함 public Circle() { // 오류 안남 this("빨강"); radius = 10.0; } public Circle() { // 오류 남 radius = 10.0; this("빨강"); }연속 호출 예를 들어 반환 타입이 void인 setName(String name), setAge(), sayHello()라는 메서드를 가진 Person 클래스가 있다고 가정 //연속호..
2022.04.13
TIL (22.04.13)
call by value : 함수 안에서 끝 void swap(int x, int y) { int tmp; tmp = x; x = y; y = tmp; }call by reference : 함수 바깥 값에 영향을 미침 void swap(int &x, int &y) { int tmp; tmp = x; x = y; y = tmp; }참조로 전달할 때에는 매개변수를 값을 넣을 수 없다. 변수를 매개변수로 넣어야 함. call by adress (Pointer): 포인터를 이용 imt main() { int a = 10, b = 20; swap(&a, &b) } void swap(int *x, int*y) { int tmp; tmp = *x; *x = *y; *y = tmp; }배열의 크기가 계속 바뀔 때, 데..
2022.04.13
TIL (22.04.11)
변수의 범위 범위의 종류 전역 변수 : 함수의 외부에서 선언 지역 변수 : 블록 안에서선언 지역변수는 불러진 블록에서 시작해서 블록이 끝나면 사라지게됨. 변수의 속성 : 이름 , 타입, 크기, 값 + 범위, 생존시간, 연결 범위 : 변수가 사용가능한 범위 , 가시성 생존시간 : 메모리에 존재하는 시간 연결 : 다른 영역에 있는 변수와 연결상태 전역변수 : 함수의 외부에서 선언되는 변수 프로그램 시작시 선언되어서, 프로그램 종료시 사라짐 어디서든 접근 가능하다는 장점이 있지만, 어디서든 접근 가능하다는 단점이 있다. 같은 이름의 전역 변수와 지역 변수 전역변수를 선언하고, 같은 이름의 지역변수를 선언한다면 지역변수의 블록 내애서는 지역변수가 전역변수보다 우선됨. 생존 기간 정적 할당 (static allo..
2022.04.11
TIL (22.04.08)
정적 메소드 (static ) 흔히 java 프로그래밍을 시작하면, 메인을 불러와서 뭔갈 할거다. 이거처럼 package sec06; public class Hello { public static void main(String[] args) { System.out.println("hello"); } }이렇게 해서 실행하면 hello가 출력되는 것을 볼 수 있다. 그런데 여기서 static 이 뭐지?라고 한다면 쉽게 말하면 여기에 포함된 애들은 어디서든 참조할 수 있고, 어디서든 쓸 수 있단 말. 그리고 얘네는 클래스가 메모리에 올라가면서 정적 메소드가 바로 생성되면서 따로 인스턴스를 만들 필요가 없음 뭔말이냐면 Triangle t1 = new Triangle을 안해도 된다는 말 call by refere..
2022.04.08
TIL 달팽이와 방향배열 (22.04.08)
이 글은 과제 제출 기한이 지났고 사이트 내에서 코드도 열람이 가능해졌기 때문에 풀이를 정리해도 될 것 같아 비공개 글에서 공개글로 전환하였습니다. 필자도 배우는 입장이라 틀린점, 잘못된 점이 있을 수 있습니다. 그러니 지적, 피드백 환영합니다. 숫자 정사각형 만들기 숫자로 중앙에서부터 0 111 101 111 00000 01110 01010 01110 00000 이런식으로 0과 1이 왔다 갔다하는 도형을 만드는 문제다 풀이까지 가는 과정은 다음과 같다. 일단 100 * 100의 배열을 선언하고 (최대 크기일때도 크기가 넘치지 않는 배열), 그 배열을 0으로 초기화해줘(안에 있는 쓰레기 값을 처리하는 과정) 그러고 시작하는거.그러고 반복문에서 arr[][]을 채우는데, 윗칸, 아랫칸을 색칠할 때는, ar..
2022.04.08
TIL (22.04.03)
이 글은 과제 제출 기한이 지났고 사이트 내에서 코드도 열람이 가능해졌기 때문에 풀이를 정리해도 될 것 같아 비공개 글에서 공개글로 전환하였습니다. 필자도 배우는 입장이라 틀린점, 잘못된 점이 있을 수 있습니다. 그러니 지적, 피드백 환영합니다. 자리수 거듭제곱수 내가 틀렸던 점 : 자릿수인 k와 자릿수의 거듭제곱수의 합인 sum을 0으로 초기화시키지 않아서 틀림. #include #include using namespace std; int main(int argc, char const *argv[]) { int i, j, k, n, x, sum, num, tmp; cin >> x; for (i=0; i> num; tmp = num; n = num; k = 0; sum = 0; while (tmp >0)..
2022.04.08